控制力更强。如果一开始就不想派生,最开始的基类设置为非虚函数就可以了,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作为基类
}; |