C++中的override和final关键字用于多态场景。override用于明确标识子类函数重写了基类的虚函数,增强代码可读性并帮助编译器检查错误;final则用于修饰函数或类,表示该函数不可再被派生类重写,或该类不能被继承。通过具体示例,可以清晰展示这两个关键字的使用方法及其实际效果,有助于提升程序的安全性与设计清晰度。
1、 定义基类Base和继承自Base的派生类Derived,并在派生类中使用override关键字标识重写的虚函数。
2、 子类新增父类未定义的虚函数,并使用override关键字标注。
3、 编译时出现错误提示,仅虚成员函数可使用override关键字标识。
4、 基类中虚函数后加final,表示派生类不可再重写该函数。
5、 编译错误提示子类重写了被final修饰的基类方法
6、 子类虚函数可同时使用override和final关键字进行修饰。
7、 在子类的虚函数后加上final,可禁止其派生类继续重写该函数。
评论
更多评论