欢迎访问wabc.cc — 源码交易 · 软件定制 · 建站服务一站式平台
全部分类
首页 - 首页 - 解决方案 - 推荐文章 - 物联网学习教程—多重繼承

物联网学习教程—多重繼承

分类:推荐文章 · 发布:2025-12-20 · 浏览:1

C++ Gossip: 多重繼承(一)

C++允許讓衍生類別同時直接繼承兩個以上的父類別,例如有A、B兩個類別,您可以使用下面的方式來讓C類別直接繼承這兩個類別:

class C : public A, public B {
public:
    C(int x) : A(x), B(x) {  // 多重繼承下的建構函式呼叫
        // 實作
    }   

    // 實作
};


上面也同時示範了在繼承之後的的建構函式呼叫,沒有參數的預設建構函式不用使用這種方式執行,它會自動被呼叫,而解構函式也是會自動執行。

多重繼承之後的建構函式執行順序,是依您撰寫程式時的順序由左而右決定,最後才是繼承後衍生類別,例如上面的例子中,會先執行A類別定義的建構函式,然後再執行B類別的建構函式,最後執行C類別的建構函式,而解構函式的執行則正好相反,先執行衍生類別的解構函式,然後再右向左執行,使用下面這個簡單的範例來示範:

#include
using namespace std;

class FooA {
public:
    FooA() {
        cout << "執行FooA建構函式" << endl;
    }

    ~FooA() {
        cout << "執行FooA解構函式" << endl;
    }
};

class FooB {
public:
    FooB() {
        cout << "執行FooB建構函式" << endl;
    }

    ~FooB() {
        cout << "執行FooB解構函式" << endl;
    }
};

class FooC : public FooA, public FooB {
public:
    FooC() {
        cout << "執行FooC建構函式" << endl;
    }

    ~FooC() {
        cout << "執行FooC解構函式" << endl;
    }
};

int main() {
    FooC c;

    cout << endl;

    return 0;
}


執行結果:

執行FooA建構函式
  執行FooB建構函式
  執行FooC建構函式
 
  執行FooC解構函式
  執行FooB解構函式
  執行FooA解構函式

 

 


上一篇:短视频引流转化好吗?
下一篇:双壁波纹管缺点和特点介绍

相关文章

源码分类

热门源码

最新资讯

联系我们