有沒有辦法強制派生類使用抽象基類的構造函數?它不一定是一個真正的構造者,我對開創性的解決方案持開放態度。強制派生類使用基類的構造函數
class Abstract
{
private:
int Member;
string Text;
public:
Abstract(int Member, string Text)
{
this->Member = Member;
this->Text = Text;
}
// e.g. defining virtual functions
}
例如我的抽象類有一些私人成員,每個派生類也應該有。而且它們應該在構造函數中定義,甚至違背派生類的意願。
我知道構造函數沒有被繼承。但是有沒有一種解決方法來產生類似的行爲?
未定義默認構造函數的派生類來使用任何其他構造函數。 – PiotrNycz
目前尚不清楚問題是什麼。任何從'Abstract'派生的類都必須使用'Abstract'中的唯一構造函數。 –
只是不要創建任何你不想做的構造函數。由於派生類實例是基類的實例,因此必須調用構造函數。沒有什麼特別的你需要做。 –