我有一个基类,希望大多数类不能继承它,但允许少数我可以硬编码的类继承。在C ++中是否可能?使用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
的功能。