有时候我们会定义这样一种类, 我们不希望其他类继承它, 或者不想考虑他是否适合作为一个基类。为了实现这一个目的,c++ 11提供了防止继承发生的方法,及在类后面跟一个关键字finnal:
class base final{};
final 也可指定函数,如果定义为final了, 则之后任何覆盖该函数的操作都将引起错误。
class A{
virtual void test(int) const;
}
class B : A
{
void test(int) const final;//不允许后续其他类覆盖test;
}