Re[2]: константа в классе
От: elGray  
Дата: 12.09.05 08:09
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


А>>как объявить константу в классе?

А>>
А>>class A {
А>>    const int F /* = 123 */; // это - константная переменная-член

К>      static const int G = 123; // вот так правильно... (старые компиляторы будут ругаться)
К>      static const int H; // это - константная переменная - статический член (требует отдельной инициализации)
К>      enum { I = 123 }; // ещё можно делать вот так

К>      A() : F(123) {} // константы-члены нужно инициализировать в конструкторе
К>      A(int x) : F(x*2) {} // причём в разных конструкторах - можно по-разному
А>>};

К>// где-то в недрах .cpp
К>const int A::H = 123;
А>>


спасибо большое!
правда, у меня (ms vs 6.0) сработал пример только с F. Как раз то, что нужно
получается, константной переменной-члену можно дать значение только в списке инициализаторов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.