在C++中,override
关键字用于显式地指示一个成员函数是覆盖(override)基类中的虚函数。它的使用方法如下:
virtual
。class Base {
public:
virtual void foo();
};
override
关键字。class Derived : public Base {
public:
void foo() override;
};
请注意,使用override
关键字的函数声明必须满足以下条件:
函数名、参数列表和const限定符(如果有)必须与基类中的虚函数完全匹配。
如果在基类中的虚函数声明中使用了const
限定符,那么在派生类中的重写函数声明也必须使用const
限定符。
如果在基类中的虚函数声明中使用了final
关键字标记函数为最终函数,那么在派生类中不可以使用override
关键字来覆盖该函数。
使用override
关键字可以提高代码的可读性,并帮助编译器在派生类中检查是否正确地覆盖了基类中的虚函数。如果在派生类中使用了override
关键字,但是该函数并没有覆盖基类中的虚函数,编译器会发出错误提示。