在C++中,方法覆蓋(也稱為重寫或Override)是指子類提供特定于其自身實現的基類方法。為了實現方法覆蓋,您需要遵循以下步驟:
以下是一個簡單的示例,演示了如何在C++中實現方法覆蓋:
#include <iostream>
// 基類
class Animal {
public:
// 基類的方法
virtual void makeSound() {
std::cout << "The animal makes a generic sound." << std::endl;
}
};
// 子類
class Dog : public Animal {
public:
// 子類覆蓋基類的方法
void makeSound() override {
std::cout << "The dog barks." << std::endl;
}
};
int main() {
Animal myAnimal;
Dog myDog;
// 調用基類方法
myAnimal.makeSound(); // 輸出:The animal makes a generic sound.
// 調用子類覆蓋的方法
myDog.makeSound(); // 輸出:The dog barks.
return 0;
}
在這個例子中,我們有一個名為Animal的基類,其中包含一個名為makeSound的方法。然后,我們創建了一個名為Dog的子類,該子類繼承自Animal并覆蓋了makeSound方法。當我們調用myDog.makeSound()時,它將輸出"The dog barks.",這是子類提供的特定實現。