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