派生類構(gòu)造函數(shù)的調(diào)用順序 派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的?
派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的?多繼承派生類構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行所有基類的構(gòu)造函數(shù)(按定義派生類時(shí)指定的順序),然后執(zhí)行派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行順序與構(gòu)造函數(shù)的完全相反(因?yàn)?/p>
派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的?
多繼承派生類構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行所有基類的構(gòu)造函數(shù)(按定義派生類時(shí)指定的順序),然后執(zhí)行派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行順序與構(gòu)造函數(shù)的完全相反(因?yàn)閿?shù)據(jù)存儲(chǔ)在堆棧上)。單一繼承首先執(zhí)行基類構(gòu)造函數(shù),而派生類構(gòu)造函數(shù)執(zhí)行,析構(gòu)函數(shù)按相反的順序執(zhí)行。首先,執(zhí)行基類的構(gòu)造函數(shù),然后執(zhí)行子類的構(gòu)造函數(shù)。如果有多個(gè)基類,則按基類的順序調(diào)用基類的構(gòu)造函數(shù)。如下所示:類A類B類C:public B,public A{}首先調(diào)用B的構(gòu)造函數(shù),然后調(diào)用A的構(gòu)造函數(shù),當(dāng)生成派生類對(duì)象時(shí),調(diào)用構(gòu)造函數(shù)。首先,調(diào)用基類的構(gòu)造函數(shù)來(lái)生成基類部分,然后調(diào)用它自己的構(gòu)造函數(shù)。
。
。