Как объявить константу в классе?
От: Кодт Россия  
Дата: 12.09.05 07:53
Оценка: 6 (4)
#Имя: FAQ.cpp.constinclass
Здравствуйте, Аноним, Вы писали:

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


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;
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.