温馨提示×

c++中override的用法是什么

c++
小亿
120
2023-12-16 23:27:55
栏目: 编程语言

在C++中,override关键字用于明确表示派生类中的成员函数覆盖了基类中的虚函数。它主要有两个作用:

  1. 表示派生类中的函数是作为虚函数覆盖了基类中的同名函数。这样可以确保在使用多态性的情况下,正确地调用派生类中的函数。
  2. 帮助编译器检查是否正确地覆盖了基类中的虚函数。如果派生类中的函数与基类中的虚函数签名不匹配,编译器就会产生错误。

以下是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类中的虚函数签名不匹配(例如,参数个数或类型不同),编译器会报错。

0