我有一個基類,我想阻止大多數類的繼承,但允許它爲我可以硬編碼的一些類。這可能在C++中? C++ 11更容易嗎?C++ 11只允許繼承某些類
我想也許我會使用final
參數,但是這完全阻止了繼承。
// This can be derived by anyone
class Base{
...
}
// This should only be derived by those I say can derive it
class Base2: public Base{
protected:
int SpecialVar;
}
我想這是一些類需要訪問SpecialVar
雖然它沒有對其他類的有意義的原因。所有類都具有Base
的功能仍然是有意義的。
您可能需要繼承類來實現一個或多個特定接口。 –
你的基類抽象(或可能是抽象的)? –
我真的不希望我的基類是抽象的。它只是定義了一些類需要的變量,而不是其他類。 – jlconlin