在C++中,覆蓋(Override)是指子類提供特定于其自身實現的基類虛函數。為了實現覆蓋操作,你需要遵循以下步驟:
下面是一個簡單的示例,演示了如何在C++中覆蓋基類的虛函數:
#include <iostream>
// 基類
class Base {
public:
virtual void display() {
std::cout << "Display from Base class" << std::endl;
}
};
// 子類
class Derived : public Base {
public:
// 覆蓋基類的虛函數
void display() override {
std::cout << "Display from Derived class" << std::endl;
}
};
int main() {
Base* basePtr = new Derived(); // 指向子類的指針指向基類對象
basePtr->display(); // 調用子類覆蓋的display函數
delete basePtr;
return 0;
}
在這個示例中,我們創建了一個名為Base
的基類,其中包含一個名為display
的虛函數。然后,我們創建了一個名為Derived
的子類,該類繼承自Base
并覆蓋了display
函數。在main
函數中,我們創建了一個指向Derived
對象的基類指針,并通過該指針調用覆蓋后的display
函數。