静的メンバ変数 クラス全体で1つの値を持つ変数。値はソースにベタ書きする。 マクロ定数 #define に匹敵する存在と思ってよい。 class Hoge { public: static int val; } int Hoge::val = 100;
注 privateにすると,Hoge::val と書いても外部から参照することはできなくなる。
定数メンバ変数 オブジェクト毎に異なる定数。生成時にコンストラクタで初期化する。 class Hoge { public: Hoge( int val ) const int val; } Hoge::Hoge( int _val ) : val( _val ) { ... }
静的メンバ変数の配列 class Hoge { public: static std::string names[]; } std::string Hoge::names[] = {"hage", "hoge"};