我需要在基类中编写一个成员函数,允许派生类访问。但不允许覆盖。
这可能吗?
在 C++11 中,您可以使用说明final符来禁止覆盖。
如果你正在处理一个virtual方法,你可以使用finalC++11 中的特殊标识符。
class A
{
virtual void foo() const final;
};
这将防止覆盖或隐藏名称,具体取决于上下文。
是的,如果您不声明它virtual,就不可能覆盖它。
在 C++11 之前,如果方法是virtual. 例如,MSVS 提供sealed关键字。