2010-07-05 52 views
3

假設我有一些類C,我繼承它並命名爲這個類D。我總是叫C的默認構造函數如下例所示:C++中總是需要調用基類構造函數嗎?

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

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

注意C只有默認的構造函數。我必須從D打電話嗎?我無法弄清楚如何找出答案。

謝謝,博大Cydo。

回答

10

您不需要在派生類型構造函數的初始值設定項列表中指定基類構造函數。當它被省略時,將嘗試調用不帶參數的基礎構造函數。如果不存在這樣的無參數基構造函數,那麼你會得到一個編譯錯誤。

+0

謝謝你的回答! – bodacydo 2010-07-05 02:01:31

相關問題