我正在阅读一个很棒的C++11教程,作者在解释final
关键字时提供了这个示例:
struct B {
virtual void f() const final; // do not override
virtual void g();
};
struct D : B {
void f() const; // error: D::f attempts to override final B::f
void g(); // OK
};
那么在这里使用 final
关键字是有意义的吗?我认为你可以避免在这里使用 virtual
关键字,并防止 f()
被覆盖。