如果派生类在虚函数声明时使用了override描述符,那么该函数必须重写其基类中的同名函数,否则代码将无法通过编译。在函数后面加override,可以显式的将派⽣类函数指定为应该是基类重写版本。override 主要用在基类中,用于辅助编译器检查重写函数是否正确,比如:参数、返回值、函数名称等是否和基类函数一致。
class Base {
public:
virtual void mf1() const;
virtual void mf2(int x);
virtual void mf3() &;
virtual void mf4() const;
};
class Derived: public Base {
public:
virtual void mf1() const override;
virtual void mf2(int x) override;
virtual void mf3() & override;
void mf4() const override; // 可以添加virtual,但不是必要
};