在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
類中的虛函數簽名不匹配(例如,參數個數或類型不同),編譯器會報錯。