конструктор
А можно объявить конструктор статическим (static)? Если нет, то почему? Если да - то когдя это применяется, как влияет на поведения класа/объекта и как вызывается? Спасибо
Всем Добрый день!
А можно объявить конструктор статическим (static)? Если нет, то почему? Если да - то когдя это применяется, как влияет на поведения класа/объекта и как вызывается? Спасибо
Нельзя. Потому, что это бессмысленно.
Всем Добрый день!
А можно объявить конструктор статическим (static)? Если нет, то почему? Если да - то когдя это применяется, как влияет на поведения класа/объекта и как вызывается? Спасибо
когда ты объявляешь static переменную(например) она создается
в одном экземплярe и на протяжении программы она сохраняет свое текущее значение. например в каком то классе Class1 делаем static переменную counter. Создаем 10 объектов этого класса, и все эти объекты обращаясь к переменной counter будут обращаться к одной и той же переменной(ячейке памяти).
согласен с Green. Но у меня это спросили на собеседовании и когда я ответил "нет", меня уверили что можна и отправили читать стандарт
Стандарт, говоришь...
Чтож, смотрим стандарт:
12.1 Constructors
4 A constructor shall not be virtual or static. A constructor can be invoked for a const, volatile or const volatile object. A constructor shall not be declared const, volatile, or const volatile. const and volatile semantics are not applied on an object under onstruction.
Such semantics only come into effect once the constructor for the most derived object ends.
Что за контора, в которой ты собеседовался?
Стандарт, говоришь...
Чтож, смотрим стандарт:
12.1 Constructors
Что за контора, в которой ты собеседовался?
Из єтических сообщений не скажу. Єто союзная украино-амереканская компашка. Вероятно, они просто хотели снизить мою будущую зарплату :)
когда ты объявляешь static переменную(например) она создается
в одном экземплярe и на протяжении программы она сохраняет свое текущее значение. например в каком то классе Class1 делаем static переменную counter. Создаем 10 объектов этого класса, и все эти объекты обращаясь к переменной counter будут обращаться к одной и той же переменной(ячейке памяти).
Я прекрасно знаю, что такое статический метод (он же метод класса в SmallTalk), тут вопрос в другом
Чтож, смотрим стандарт:
12.1 Constructors
Что за контора, в которой ты собеседовался?[/QUOTE]
Остается только добавить, что конструкторы еще виртуальными не могут быть. А деструкторы могут.