override声明的作用很简单,就是当你为子类改写从父类那里继承下来的成员函数时,如果因为各种原因,导致改写失败(失败原因有很多,例如形参类型错误、函数修饰词遗漏等等),将在编译时给你明确提示。
除了这个知识点,这里另外再介绍一个知识点,就是引用修饰词:
class Widget { public: void dowork() &; //*this是左值时被调用 void dowork() &&; //*this是右值时被调用 } Widget a; a.dowork(); //调用 void dowork() &版本 makeWidget().dowork(); //调用 void dowork() &&版本