Как можно в классе определить константу? С++

Kabbalah 25.03.2004 - 14:36 | Чтобы ее не нужно было инициализировать. . Например, класс Квадрат, при создании экземпляра я определяю только цвет, а размеры пускай будут определены заранее. Это нужно для того, чтобы не создавая экземпляры я по описанию мог инициализировать другие классы, используя информацию о размерах этого. Можно конечно и дефайном определить, и сам класс с дефайнами в отдельный файл вынести. Просто может в СиПП можно это как-то изящней и удобней сделать? MyClass *myClass1 = new MyClass(TSquare.SIDE_SIZE); . Простите за глупый вопрос, только учусь!
VaS 1 - 25.03.2004 - 14:42 | class TSquare { public: static const SIDE_SIZE = 10; }; ... int I = TSquare::SIDE_SIZE;
Kabbalah 2 - 25.03.2004 - 14:47 | Спасибо большое!
Сергей 3 - 25.03.2004 - 14:58 | Возможны варианты... 1) можно объявить в классе константное поле данных, инициализировать его в конструкторе class Square { public: Square(); private: const int sideLength; } Square::Square() : sideLength(10) { .... } 2) Если необходимо иметь константу "интегрального" типа (int, например), можно объявить ее как статические данные класса и инициализировать в объявлении класса class Square { private: static const int sideLength = 10; }

>>