在C++中,override
关键字用于明确表示派生类中的成员函数覆盖了基类中的虚函数。它主要有两个作用:
- 表示派生类中的函数是作为虚函数覆盖了基类中的同名函数。这样可以确保在使用多态性的情况下,正确地调用派生类中的函数。
- 帮助编译器检查是否正确地覆盖了基类中的虚函数。如果派生类中的函数与基类中的虚函数签名不匹配,编译器就会产生错误。
以下是override
关键字的用法示例:
class Base { public: virtual void func() { cout << "Base::func()" << endl; } }; class Derived : public Base { public: void func() override { cout << "Derived::func()" << endl; } };
在上面的示例中,Derived
类中的func()
函数使用override
关键字来明确表示它是作为虚函数覆盖了Base
类中的同名函数。这样,在使用多态性时,可以正确地调用Derived::func()
函数。如果Derived
类中的func()
函数与Base
类中的虚函数签名不匹配(例如,参数个数或类型不同),编译器会报错。