国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

簡單介紹C++編程中派生類的析構函數

2020-05-23 14:14:10
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了C++編程中派生類的析構函數,析構函數平時一般使用較少,需要的朋友可以參考下

和構造函數類似,析構函數也是不能被繼承的。

創建派生類對象時,構造函數的調用順序和繼承順序相同,先執行基類構造函數,然后再執行派生類的構造函數。但是對于析構函數,調用順序恰好相反,即先執行派生類的析構函數,然后再執行基類的析構函數。

請看下面的例子:

 

 
  1. #include <iostream> 
  2. using namespace std; 
  3. class A{ 
  4. public
  5. A(){cout<<"A constructor"<<endl;} 
  6. ~A(){cout<<"A destructor"<<endl;} 
  7. }; 
  8. class B: public A{ 
  9. public
  10. B(){cout<<"B constructor"<<endl;} 
  11. ~B(){cout<<"B destructor"<<endl;} 
  12. }; 
  13. class C: public B{ 
  14. public
  15. C(){cout<<"C constructor"<<endl;} 
  16. ~C(){cout<<"C destructor"<<endl;} 
  17. }; 
  18. int main(){ 
  19. C test; 
  20. return 0; 

運行結果:

 

 
  1. A constructor 
  2. B constructor 
  3. C constructor 
  4. C destructor 
  5. B destructor 
  6. A destructor 

從運行結果可以很明顯地看出來,構造函數和析構函數的執行順序是相反的。

需要注意的是,一個類只能有一個析構函數,調用時不會出現二義性,所以析構函數不需要顯式地調用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大同市| 镇平县| 宁河县| 元氏县| 信丰县| 郯城县| 南京市| 天津市| 淮滨县| 梅河口市| 台中市| 揭东县| 丽江市| 南投市| 高尔夫| 台北县| 广丰县| 大庆市| 永济市| 和政县| 稷山县| 阿拉善右旗| 淮阳县| 屏南县| 康平县| 文昌市| 荥经县| 内乡县| 淮南市| 永安市| 呼玛县| 柯坪县| 榕江县| 博乐市| 房山区| 陈巴尔虎旗| 沧源| 金堂县| 安丘市| 蓝山县| 宜黄县|