中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++派生類的多態如何實現

c++
小樊
84
2024-08-06 06:17:11
欄目: 編程語言

C++中派生類的多態是通過虛函數和虛函數表實現的。在基類中聲明一個虛函數,然后在派生類中重寫這個虛函數,就可以實現多態。

具體來說,當一個指向基類的指針或引用調用一個虛函數時,實際上會調用指向派生類對象的虛函數。這是因為每個對象都有一個虛函數表,存儲了該對象的虛函數地址,通過這個虛函數表可以實現動態綁定,實現多態性。

以下是一個簡單的示例:

#include <iostream>

class Base {
public:
    virtual void print() {
        std::cout << "Base::print() called" << std::endl;
    }
};

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

int main() {
    Base* basePtr = new Derived();
    basePtr->print(); // 輸出 Derived::print() called

    delete basePtr;
    return 0;
}

在上面的示例中,基類Base中聲明了一個虛函數print(),派生類Derived重寫了這個虛函數。在main()函數中,我們用一個指向基類對象的指針basePtr指向一個派生類對象,并調用print()函數,最終輸出的是Derived::print() called,實現了多態。

0
包头市| 扎鲁特旗| 邢台县| 广汉市| 涿州市| 五河县| 饶河县| 凌海市| 鹤岗市| 综艺| 丹棱县| 延津县| 辽源市| 泗水县| 兰州市| 望城县| 德令哈市| 西平县| 福泉市| 石楼县| 锡林浩特市| 诏安县| 宁乡县| 涡阳县| 三门县| 乌海市| 松桃| 集贤县| 石景山区| 乌鲁木齐市| 正镶白旗| 宁陕县| 肥城市| 衡水市| 陇西县| 周口市| 新巴尔虎左旗| 双江| 电白县| 陵川县| 尤溪县|