控制力更强。如果一开始就不想派生,最开始的基类设置为非虚函数就可以了,final一般用于中途终止派生。
作用是
1.禁用重写
使派生类重写该虚函数。
class Super
{
public:
Supe();
virtual void SomeMethod() final;
};
2.禁用继承
用来修饰类,让该类不能被继承.
class Super final
{
//......
};
class XiaoMi {
public:
XiaoMi(){}
};
class XiaoMi2 final : public XiaoMi {
XiaoMi2(){}
};
class XiaoMi3 : public XiaoMi2 { //不能把XiaoMi2作为基类
};