在C++中,override
關鍵字用于明確表示派生類中的成員函數(shù)覆蓋了基類中的虛函數(shù)。它主要有兩個作用:
以下是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ù)或類型不同),編譯器會報錯。