簡體   English   中英

為C ++中的基類和派生類聲明“虛擬”構造函數?

[英]Declare 'virtual' constructor for base and derived class in c++?

也許這是一個小問題:我有一個基類B,它的構造函數帶有許多(6+)個參數(並且不穩定,將來可能會更改)。 並且有許多派生類從其繼承,它們也具有相同的構造函數簽名,並且它們都只做基礎類而已。

所以問題是:有沒有一種方法可以只在基數中聲明一次,而無需在派生類中聲明? 就像普通的虛函數一樣。

我正在使用c ++ 11。

您可以繼承所有基類的構造函數:

struct base {
    base(int, float, void*, bool, std::nullptr_t, std::size_t) { /* ... */ }
};

struct derived : base {
    using base::base;
};



derived d(0,0.0f, nullptr, false, nullptr, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM