クラスメンバー変数の初期化
3212 ワード
次に、constメンバー、staticメンバー、static constメンバー、参照タイプメンバー、配列メンバーなど、クラスメンバー変数を初期化します.ただし、文字配列メンバーは空にのみ初期化され、INT配列のすべてのメンバーは0に初期化されます.もちろん、配列メンバーはコンストラクション関数体に値を割り当てることができます.非静的constデータメンバーと参照メンバーは、初期化リストでのみ初期化できます.
次に、参照タイプメンバーの効果をテストします.
出力:
またtestオブジェクトのm_szBuf配列の128文字は'0'です.
- #include <iostream>
- using namespace std;
-
- class CTestInitial
- {
- private:
- const int num1;
- static int num2;
- static const int num3;
- static const int bufLen = 128;
- char m_szBuf[bufLen];
- int& quoteNum;
-
- public:
- CTestInitial(int& num)
- :m_szBuf()
- ,num1(0)
- ,quoteNum(num)
- {}
-
- void Output()
- {
- cout<<quoteNum<<endl;
- }
- };
次に、参照タイプメンバーの効果をテストします.
- void main()
- {
- int num = 0;
- CTestInitial test(num);
- test.Output();
-
- num = 100;
- test.Output();
- }
出力:
- 0
- 100
またtestオブジェクトのm_szBuf配列の128文字は'0'です.