C++的override和final

北战南征 提交于 2019-11-30 13:43:04

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

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

struct D2 : B2
{
    virtual void f() {}
};

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

2、override

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!