クラスメンバー変数の初期化


次に、constメンバー、staticメンバー、static constメンバー、参照タイプメンバー、配列メンバーなど、クラスメンバー変数を初期化します.ただし、文字配列メンバーは空にのみ初期化され、INT配列のすべてのメンバーは0に初期化されます.もちろん、配列メンバーはコンストラクション関数体に値を割り当てることができます.非静的constデータメンバーと参照メンバーは、初期化リストでのみ初期化できます. 

  
  
  
  
  1. #include <iostream> 
  2. using namespace std; 
  3.  
  4. class CTestInitial 
  5.  private: 
  6.    const  int num1; 
  7.    static int num2; 
  8.    static const int num3; 
  9.    static const int bufLen = 128
  10.    char m_szBuf[bufLen]; 
  11.    int&  quoteNum; 
  12.  
  13.  public: 
  14.    CTestInitial(int& num) 
  15.    :m_szBuf() 
  16.    ,num1(0) 
  17.    ,quoteNum(num) 
  18.    {} 
  19.  
  20.  void Output() 
  21.  { 
  22.    cout<<quoteNum<<endl
  23.  } 
  24. }; 

 
次に、参照タイプメンバーの効果をテストします.

  
  
  
  
  1. void  main() 
  2.    int num = 0
  3.    CTestInitial test(num); 
  4.    test.Output(); 
  5.  
  6.    num = 100
  7.    test.Output(); 

 
出力:

  
  
  
  
  1. 100 

またtestオブジェクトのm_szBuf配列の128文字は'0'です.