溫馨提示×

c++方法的覆蓋怎樣做

c++
小樊
108
2024-12-04 01:46:40
欄目: 編程語言

在C++中,方法覆蓋(也稱為重寫或Override)是指子類提供特定于其自身實現的基類方法。為了實現方法覆蓋,您需要遵循以下步驟:

  1. 在子類中聲明與基類方法具有相同名稱、返回類型和參數列表的方法。
  2. 確保子類方法的訪問權限不低于基類方法的訪問權限(例如,如果基類方法是public,那么子類方法也應該是public)。
  3. 在子類方法中實現特定于子類的行為。

以下是一個簡單的示例,演示了如何在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.",這是子類提供的特定實現。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女