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

437 ワード

class CExample
{
public:
	CExample():m_a(1),m_b(2){/*m_a = 1; compile error*/}
	CExample(const CExample&c):m_a(1){/*m_a = 1; compile error*/}
	~CExample(){}
private:
	const int m_a;
	int m_b;
};

まとめ:
1、クラスのconstメンバー変数は、コンストラクション関数のパラメータ初期化リストで初期化する必要があります.
2、コンストラクション関数の内部では、constメンバーに値を割り当てることはできません.コンパイラは直接エラーを報告します.
3、コンストラクション関数リストの初期化の実行順序はメンバー変数がクラスで宣言したのと同じで、初期化リストの文の作成前後とは関係ありません.