簡單介紹C++編程中派生類的析構函數(shù)
和構造函數(shù)類似,析構函數(shù)也是不能被繼承的。
創(chuàng)建派生類對象時,構造函數(shù)的調(diào)用順序和繼承順序相同,先執(zhí)行基類構造函數(shù),然后再執(zhí)行派生類的構造函數(shù)。但是對于析構函數(shù),調(diào)用順序恰好相反,即先執(zhí)行派生類的析構函數(shù),然后再執(zhí)行基類的析構函數(shù)。
請看下面的例子:
#include <iostream> using namespace std; class A{ public: A(){cout<<"A constructor"<<endl;} ~A(){cout<<"A destructor"<<endl;} }; class B: public A{ public: B(){cout<<"B constructor"<<endl;} ~B(){cout<<"B destructor"<<endl;} }; class C: public B{ public: C(){cout<<"C constructor"<<endl;} ~C(){cout<<"C destructor"<<endl;} }; int main(){ C test; return 0; }
運行結果:
A constructor B constructor C constructor C destructor B destructor A destructor
從運行結果可以很明顯地看出來,構造函數(shù)和析構函數(shù)的執(zhí)行順序是相反的。
需要注意的是,一個類只能有一個析構函數(shù),調(diào)用時不會出現(xiàn)二義性,所以析構函數(shù)不需要顯式地調(diào)用。
- 淺談C++基類的析構函數(shù)為虛函數(shù)
- 簡要解讀C++的動態(tài)和靜態(tài)關聯(lián)以及虛析構函數(shù)
- 詳解C++編程中的析構函數(shù)
- C++類成員構造函數(shù)和析構函數(shù)順序示例詳細講解
- c++基礎語法:構造函數(shù)與析構函數(shù)
- 深入解析C++中的構造函數(shù)和析構函數(shù)
- C++虛析構函數(shù)的使用分析
- 解析C++中虛析構函數(shù)的作用
- 深入C++中構造函數(shù)、拷貝構造函數(shù)、賦值操作符、析構函數(shù)的調(diào)用過程總結
- 從匯編看c++的默認析構函數(shù)的使用詳解
- C++函數(shù)返回值為對象時,構造析構函數(shù)的執(zhí)行細節(jié)
- 全面解析C++中的析構函數(shù)
相關文章
c++如何控制對象的創(chuàng)建方式(禁止創(chuàng)建棧對象or堆對象)和創(chuàng)建的數(shù)量
這篇文章主要介紹了c++如何控制對象的創(chuàng)建方式和創(chuàng)建的數(shù)量,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-08-08Qt利用QJson實現(xiàn)解析數(shù)組的示例詳解
這篇文章主要為大家詳細介紹了Qt如何利用QJson實現(xiàn)解析數(shù)組功能,文中的示例代碼講解詳細,對我們學習Qt有一定幫助,需要的小伙伴可以了解一下2022-10-10C++實現(xiàn)LeetCode(108.將有序數(shù)組轉為二叉搜索樹)
這篇文章主要介紹了C++實現(xiàn)LeetCode(108.將有序數(shù)組轉為二叉搜索樹),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07c語言實現(xiàn)足球比賽積分統(tǒng)計系統(tǒng)
這篇文章主要為大家詳細介紹了c語言實現(xiàn)足球比賽積分統(tǒng)計系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方?
本篇文章是對如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方的實現(xiàn)方法,進行了詳細的分析介紹,需要的朋友參考下2013-05-05