溫馨提示×

c++中override的用法是什么

c++
小億
140
2023-12-16 23:27:55
欄目: 編程語言

在C++中,override關鍵字用于明確表示派生類中的成員函數(shù)覆蓋了基類中的虛函數(shù)。它主要有兩個作用:

  1. 表示派生類中的函數(shù)是作為虛函數(shù)覆蓋了基類中的同名函數(shù)。這樣可以確保在使用多態(tài)性的情況下,正確地調(diào)用派生類中的函數(shù)。
  2. 幫助編譯器檢查是否正確地覆蓋了基類中的虛函數(shù)。如果派生類中的函數(shù)與基類中的虛函數(shù)簽名不匹配,編譯器就會產(chǎn)生錯誤。

以下是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()函數(shù)使用override關鍵字來明確表示它是作為虛函數(shù)覆蓋了Base類中的同名函數(shù)。這樣,在使用多態(tài)性時,可以正確地調(diào)用Derived::func()函數(shù)。如果Derived類中的func()函數(shù)與Base類中的虛函數(shù)簽名不匹配(例如,參數(shù)個數(shù)或類型不同),編譯器會報錯。

0