温馨提示×

C++ Override关键字与虚函数如何配合

c++
小樊
82
2024-06-26 10:01:45
栏目: 编程语言

在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函数时,会调用派生类中的函数,从而实现多态性。

0