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

溫馨提示×

c++ base類的虛函數如何使用

c++
小樊
84
2024-09-04 18:36:09
欄目: 編程語言

在C++中,基類(Base class)的虛函數(Virtual function)允許派生類(Derived class)重寫(Override)這些函數,從而實現多態性。多態是面向對象編程的一個重要特性,它允許我們通過基類指針或引用調用派生類的成員函數。

以下是使用C++基類虛函數的步驟:

  1. 在基類中聲明虛函數:
class Base {
public:
    virtual void foo() {
        cout << "Base::foo()"<< endl;
    }
};

注意virtual關鍵字,它表示foo()是一個虛函數。

  1. 在派生類中重寫虛函數:
class Derived : public Base {
public:
    void foo() override {
        cout << "Derived::foo()"<< endl;
    }
};

注意override關鍵字,它表示foo()重寫了基類的虛函數。

  1. 使用基類指針或引用調用派生類的成員函數:
int main() {
    Base* basePtr = new Derived();
    basePtr->foo(); // 輸出 "Derived::foo()"

    Base& baseRef = *basePtr;
    baseRef.foo(); // 輸出 "Derived::foo()"

    delete basePtr;
    return 0;
}

在這個例子中,我們創建了一個Derived類的對象,并將其地址賦給了Base類的指針basePtr。然后,我們通過basePtr調用foo()函數,實際上調用的是Derived類的foo()函數。這就是多態性的體現。

同樣,我們也可以使用基類引用baseRef來調用foo()函數,實現相同的效果。

注意:在使用基類指針或引用時,請確保正確地管理內存和生命周期,以避免內存泄漏和其他問題。在這個例子中,我們使用delete釋放了basePtr指向的內存。

0
瑞安市| 杭锦旗| 赣州市| 平舆县| 宣汉县| 莱西市| 韶山市| 凌源市| 乌拉特中旗| 陈巴尔虎旗| 揭阳市| 山阴县| 高安市| 黎平县| 石景山区| 泰和县| 汝南县| 天峨县| 海淀区| 马鞍山市| 隆回县| 永福县| 随州市| 文昌市| 贞丰县| 新化县| 尤溪县| 河曲县| 南投县| 仲巴县| 河南省| 辽阳市| 饶阳县| 甘德县| 孝昌县| 兰西县| 阿克苏市| 遂宁市| 故城县| 柘荣县| 比如县|