#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
話說有幾個地方必須在構造函數的初始化列表中:編譯