1、final用于让虚函数不可被重写

struct B2
{
virtual void f() final {} // final 函数
}; struct D2 : B2
{
virtual void f() {}
};

如上代码是不可被编译过的

2、override

1.在函数比较多的情况下可以提示读者某个函数重写了基类虚函数(表示这个虚函数是从基类继承,不是派生类自己定义的);

2.强制编译器检查某个函数是否重写基类虚函数,如果没有则报错。

05-24 06:51