#include <iostream> using namespace std; class A { public: A(int size) : SIZE(size) {}; private: const int SIZE; }; int main() { A a(100); }
说明ios
可是函数
此时的const变量属于具体的一个对象,如何在整个类中都恒定不变呢?spa
答案是利用枚举,举例code
#include <iostream> using namespace std; class A { private: enum {SIZE = 100}; public: int array[SIZE]; }; int main() { A a; }
枚举常量不会占据对象的存储空间,在编译时被所有求值对象
可是,它隐含的数据对象类型为整形,不能表示其余类型。blog
问题继承
如何定义在类中定义非整形常量?(待解决)io
话说有几个地方必须在构造函数的初始化列表中:编译