亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
普安县| 邹城市| 千阳县| 庄河市| 怀远县| 武定县| 襄樊市| 合肥市| 沂南县| 德阳市| 罗城| 博野县| 深圳市| 兴宁市| 高雄市| 库伦旗| 绥化市| 通化市| 屏南县| 阳信县| 余姚市| 兰西县| 海城市| 葫芦岛市| 万荣县| 阜新| 太康县| 阳曲县| 尚义县| 黔江区| 光泽县| 宣化县| 湘潭县| 青海省| 沂水县| 子洲县| 张家口市| 湖南省| 江孜县| 兴化市| 内乡县|