エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
基底クラスとデータメンバの初期化::CからC++へ
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
基底クラスとデータメンバの初期化::CからC++へ
2006-06-19 基底クラスにせよ、データメンバにせよ、それらが引数を受け取るコンストラクタを持っている... 2006-06-19 基底クラスにせよ、データメンバにせよ、それらが引数を受け取るコンストラクタを持っているのであれば、何らかの方法でコンストラクタに実引数を渡し、オブジェクトの初期化を行う必要があります。ますは、次の例をご覧ください。 struct A { A(int arg); }; struct B { B(int arg1, int arg2); }; struct C : A { B b; C(); }; あまり具体性のない、とってつけたようなサンプルです。ここでは、基底クラスAを継承し、B型のデータメンバbをデータメンバとして持つクラスCを定義しています。A型もB型も引数を受け取るコンストラクタがありますので、何らかの方法で引数を渡してやらなければ、各オブジェクトを初期化することができません。そこで、クラスCのコンストラクタは次のように記述します。 C::C() : A(123