概述
override 、final都是跟继承相关的关键字,前者是虚函数重写标志,后者是继承终结、虚函数终结。
override
override的作用就是用一个虚函数覆盖另一个虚函数(派生类覆盖基类同名的虚函数), 关键字位于函数参数列表之后,函数体之前。在派生类中重写的虚函数可以不用加virtual关键字,因为override本身就表明了这是一个虚函数,无需赘述。基类的析构函数一般为虚函数,派生类中的析构函数也可以加override来表明。
final
final 关键字既可以作用于类,也可以作用于虚函数。
作用于虚函数时,表示某个虚函数不能被派生类覆盖。关键字位于函数参数列表之后,函数体之前。
作用于类时,表示某个类不能被继承。关键字位于类定义的开头,紧跟类名之后,不能出现在类的声明中。
写在最后
因本人水平有限,错误之处在所难免,欢迎评论区交流指正。