溫馨提示×

C++多態性如何處理繼承關系

c++
小樊
95
2024-11-09 02:23:28
欄目: 編程語言

C++的多態性允許我們通過基類指針或引用來調用派生類的成員函數。處理繼承關系時,多態性主要通過虛函數(virtual function)實現。以下是如何使用虛函數處理繼承關系的簡要說明:

  1. 在基類中聲明虛函數:在基類中,我們可以使用關鍵字virtual聲明一個成員函數為虛函數。這樣,派生類中的同名函數將自動成為虛函數。
class Base {
public:
    virtual void show() {
        cout << "Base class show()" << endl;
    }
};
  1. 在派生類中重寫虛函數:在派生類中,我們可以使用相同的函數名、返回類型和參數列表重寫基類中的虛函數。這樣,當我們通過基類指針或引用調用該函數時,將執行派生類中的實現。
class Derived : public Base {
public:
    void show() override {
        cout << "Derived class show()" << endl;
    }
};
  1. 使用基類指針或引用調用虛函數:通過基類指針或引用調用虛函數時,實際調用的函數取決于對象的實際類型。這就是多態性的體現。
int main() {
    Base *b = new Derived();
    b->show(); // 輸出 "Derived class show()"
    delete b;
    return 0;
}

在這個例子中,我們創建了一個指向Derived對象的Base指針。當我們通過該指針調用show()函數時,實際執行的是Derived類中的實現,而不是Base類中的實現。這就是多態性在C++中處理繼承關系的方式。

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