在C++中,使用override
关键字可以显式地告诉编译器,当前函数是想要覆盖基类中的虚函数。
当在派生类中重写一个虚函数时,可以使用override
关键字来确保该函数确实覆盖了基类中的虚函数。如果基类中没有对应的虚函数,或者派生类中的函数签名与基类中的虚函数不匹配,编译器就会产生一个错误。
示例代码如下:
class Base { public: virtual void foo() { cout << "Base foo" << endl; } }; class Derived : public Base { public: void foo() override { cout << "Derived foo" << endl; } }; int main() { Base* ptr = new Derived(); ptr->foo(); delete ptr; return 0; }
在上面的示例中,Derived
类中的foo
函数使用了override
关键字来重写Base
类中的foo
函数。当通过基类指针调用foo
函数时,会调用派生类中的函数,从而实现多态性。