溫馨提示×

C++基類如何實現多態

c++
小樊
102
2024-08-11 11:29:39
欄目: 編程語言

在C++中,基類實現多態的關鍵是通過虛函數和純虛函數。多態性允許不同的子類對象使用相同的基類指針或引用來調用不同的子類方法。

  1. 虛函數:在基類中使用virtual關鍵字聲明一個函數為虛函數。當派生類重寫這個虛函數時,基類指針或引用調用這個函數時會根據指向的對象類型來執行相應的函數。
class Base {
public:
    virtual void display() {
        cout << "Base class" << endl;
    }
};

class Derived : public Base {
public:
    void display() override {
        cout << "Derived class" << endl;
    }
};
  1. 純虛函數:基類中如果包含純虛函數(純虛函數是沒有實現體的虛函數),則該基類變為抽象類,不能被實例化,只能用作基類。派生類必須實現這個純虛函數,否則也會成為抽象類。
class Base {
public:
    virtual void display() = 0;
};

class Derived : public Base {
public:
    void display() override {
        cout << "Derived class" << endl;
    }
};

通過使用虛函數和純虛函數,基類可以實現多態性,使得不同的派生類對象可以通過基類指針或引用來調用相應的函數,從而實現多態。

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