C 入門經典 例8 6 多重繼承的構造順序

2022-08-26 21:36:20 字數 813 閱讀 4364

1:單一繼承是先呼叫基類的建構函式,然後呼叫派生類的建構函式,但多重繼承將如何呼叫建構函式呢?多重繼承中的基類建構函式被呼叫的順序以派生表中宣告的順序為準。派生表就是多重繼承定義中繼承方式後面的內容,呼叫順序就是按照基類名識別符號的前後順序進行的。

2:**如下:

//

8.6.cpp : 定義控制台應用程式的入口點。

//#include

"stdafx.h

"#include

using

namespace

std;

class

cbicycle

cbicycle(

intiweight)

void

run()

protected

:

intm_iweight;

};class

cairplane

; cairplane(

intiweight)

void

fly()

protected

:

intm_iweight;

};class cairbicycle : public cbicycle, public

cairplane

void

runfly()

};void

main()

view code

執行結果:

C 入門經典 例8 8 虛繼承

1 以前講到從cbird類和cfish類派生子類cwaterbird時,在cwaterbird類中將存在兩個canimal類的複製。那麼如何在派生cwaterbird類時使其只存在乙個canimal基類呢?c 語言提供的虛繼承機制能夠解決這個問題。如下 8.8.cpp 定義控制台應用程式的入口點。i...

C 入門經典 例8 1 類的繼承

1 繼承是物件導向的主要特徵 此外還有封裝和多型 之一,它使得乙個類可以從現有類中派生,而不必重新定義乙個新類。繼承的實質就是用已有的資料型別建立新的資料型別,並保留已有資料型別的特點,以舊類為基礎建立新類,新類包含了舊類的資料成員和成員函式,並且可以在新類中新增新的資料成員和成員函式。舊類被稱為基...

多重繼承 C 中的多重繼承

多重繼承是c 的一項功能,其中乙個類可以從多個類繼承。繼承類的建構函式以它們繼承的相同順序被呼叫。例如,在以下程式中,在a的建構函式之前呼叫b的建構函式。include using namespace std class a class b class c public b,public a not...