91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
汽车| 新野县| 宜黄县| 绿春县| 平塘县| 建湖县| 灵寿县| 徐闻县| 太康县| 明水县| 格尔木市| 海原县| 武城县| 牙克石市| 韩城市| 江源县| 张掖市| 正镶白旗| 吉隆县| 汾西县| 武宁县| 黄石市| 张家界市| 大厂| 同仁县| 永靖县| 蒲城县| 轮台县| 嘉义县| 嘉黎县| 浏阳市| 浦城县| 孟连| 西贡区| 广安市| 兴宁市| 和顺县| 共和县| 津市市| 富川| 临海市|