On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 25.10.12 17:00. Заголовок: Конструктуры структур и конструкторы классов в C#


Очень часто можно наблюдать такую ситуацию, когда программист, имеющий опыт программирования на C++, самоуверенно заявляет, что легко способен разобраться в коде на C#, а потому много тратить время на изучение C# нет необходимости. Он и так, можно сказать, уже квалифицированный программист на C#, так как он имел уже дело со стуктурами и классами на C++, и его не удивишь такими понятиями, как конструктор, приватный или открытый метод и т.д.

Продемонстрировать, что он не прав, достаточно несложно с помощью простой демонстрационной программы, которая сразу же позволит выявить, знаком ли он с C#, или его знакомство с C# ограничилось пока лишь его самонадеянностью.

Программа элементарно проста и, фактически, никаких действий не выполняет. Нужно всего лишь ответить, будет ли она компилироваться в каждой из представленных ее модификаций, и обхъяснить почему она будет или не будет компилироваться.

Вот эта программа. Первая модификация кода использует ключевое слово struct при объявлении типа UserStruct

 using System; 

struct UserStruct
{
public UserStruct(int x) { this.x = x; }
private int x;
}

class EntryPoint
{
static void Main()
{
UserStruct a = new UserStruct();
Console.WriteLine(a);
}
}


Во второй модификации ключевое слово struct заменено словом class

 using System; 

class UserStruct
{
public UserStruct(int x) { this.x = x; }
private int x;
}

class EntryPoint
{
static void Main()
{
UserStruct a = new UserStruct();
Console.WriteLine(a);
}
}



Никаких других различий между примерами кода нет.

Итак, вопрос для размышления. Будут ли компилироваться представленные модификации простой программы. Возможные ответы:

1. оба примера кода будут компилироваться
2. оба примера кода не будут компилироваться
3. первый пример кода будет компилироваться, второй - нет
4. первый пример кода не будет компилироваться, второй будет.



Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет