パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

覚え書き:C++のコンストラクタに関する注意点」記事へのコメント

  • by Anonymous Coward on 2005年08月09日 18時47分 (#779567)
    // 意図がわからなかったので大幅に勘違いしているかもしれない。
    // ごめん

    class CBase
    {
    public:
        CBase( int &p_i )
            : m_Member( p_i )
            {
            }
    protected:
            int m_Member;
    };

    class CDerived : public CBase
    {
    public:
        CDerived( int &i )
            : CBase( i )
            {
            }
    };

    int main()
    {
        int i = 0;
        CDerived cDerived( i );
        return 0;
    }
    • その通り、大正解です。

      is-aの関係だから派生先で初期化出来るものだと勝手に思いこみ、
      派生先のコンストラクタで派生元のメンバを初期化しようとして、プチはまりました。orz
      結局、TC++PL [att.com](こう略すのですね。)を参照して解決しました。

      最後は、ACさんのソース通りになりました。

      親コメント

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

処理中...