天天看點

多重繼承的構造函數和析構函數的執行順序(包含虛基類)

多重繼承的構造函數和析構函數的執行順序(包含虛基類)

多重繼承的情況下,嚴格按照派生類定義時從左到右的順序來調用構造函數,析構函數與之相反。但是如果基類(基類,父類,超類是指被繼承的類,派生類,子類是指繼承于基類的類.)中有虛基類的話則構造函數的調用順序如下:

(1) 虛基類的構造函數在非虛基類的構造函數之前調用;(比如在本例中B構造函數是虛基類是以在A構造函數之前執行)

(2) 若同一層次中包含多個虛基類,這些虛基類的構造函數按照他們的說明順序調用;

(3) 若虛基類由非虛基類派生而來,則任然先調用基類構造函數,再調用派生诶,在調用派生類的構造函數。

繼續閱讀