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

溫馨提示×

C++繼承機制怎樣處理同名函數

c++
小樊
82
2024-11-08 23:45:25
欄目: 編程語言

在C++中,如果一個派生類(子類)從基類(父類)繼承,并且兩個類都有一個同名的成員函數,那么在訪問這個同名函數時,派生類中的函數會覆蓋基類中的函數。這種行為稱為函數重寫(Function Overriding)。

當你在派生類中使用基類的成員函數時,編譯器會根據對象的實際類型來選擇正確的函數。如果對象是基類的實例,那么將調用基類的函數;如果對象是派生類的實例,那么將調用派生類的函數。

下面是一個簡單的例子:

#include <iostream>

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

class Derived : public Base {
public:
    void print() override { // 使用override關鍵字明確表示重寫
        std::cout << "Derived class function" << std::endl;
    }
};

int main() {
    Base *b = new Base();
    Derived *d = new Derived();

    b->print(); // 輸出 "Base class function"
    d->print(); // 輸出 "Derived class function"

    delete b;
    delete d;

    return 0;
}

在這個例子中,Derived類重寫了Base類的print()函數。當我們通過基類指針調用print()函數時,輸出的是基類的函數;而當我們通過派生類指針調用print()函數時,輸出的是派生類的函數。

0
兴山县| 新巴尔虎左旗| 日照市| 万源市| 沈阳市| 梁山县| 曲松县| 巫溪县| 宁远县| 东辽县| 木兰县| 维西| 民县| 荥阳市| 洪洞县| 会泽县| 新化县| 山东| 九江市| 鄂温| 彰化县| 保靖县| 和平县| 宜兰县| 留坝县| 斗六市| 云南省| 水富县| 西昌市| 苍溪县| 蕲春县| 星子县| 呼玛县| 阜平县| 康定县| 连江县| 逊克县| 广元市| 兴山县| 平罗县| 章丘市|