3

いくつかのクラスCがあり、それを継承してこのクラスに名前を付けたとしDます。C次の例のように、常に のデフォルト コンストラクターを呼び出す必要がありますか。

class C {
    public:
        C() { ... }
};

class D {
    public:
        D() : C() { ... }
};

Cデフォルトのコンストラクターしかないことに注意してください。Dから呼び出す必要がありますか?これを見つける方法がわかりませんでした。

ありがとう、ボダ・シド。

4

1 に答える 1

11

派生型コンストラクターの初期化子リストで基底クラス コンストラクターを指定する必要はありません。省略した場合、パラメータなしでベース コンストラクタを呼び出そうとします。そのようなパラメーターなしの基本コンストラクターが存在しない場合は、コンパイル エラーが発生します。

于 2010-07-05T01:41:14.940 に答える