- ある開発者の覚書 - ソフトウェア開発者が情報処理に関する雑多な話題をジャンルを問わずに書き留めています.未来の私、私と同類のgeekたちへ
2007-11-27
2007-11-13
2007-11-02
基底クラスとデータメンバの初期化::CからC++へ
コンストラクタでの初期化の順番について
//だめな例
CChildClass::CChildClass(bool flag)
:m_bFlag(flag)
,CParentClass(m_bFlag ? L"true dayo" : L"false sa")
{
}
親クラスのコンストラクタが先に呼ばれるので、
CParentClassコンストラクタ呼び出し時にm_bFlagは初期化されていない
//だめな例
CChildClass::CChildClass(bool flag)
:m_bFlag(flag)
,CParentClass(m_bFlag ? L"true dayo" : L"false sa")
{
}
親クラスのコンストラクタが先に呼ばれるので、
CParentClassコンストラクタ呼び出し時にm_bFlagは初期化されていない
登録:
投稿 (Atom)