国产探花免费观看_亚洲丰满少妇自慰呻吟_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 

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 堆龙德庆县| 英吉沙县| 平果县| 连云港市| 庆安县| 临漳县| 中阳县| 大理市| 淮安市| 哈巴河县| 呼图壁县| 新宾| 扬州市| 石狮市| 五华县| 桃源县| 江孜县| 黄石市| 元朗区| 林州市| 双鸭山市| 玉树县| 安西县| 丹棱县| 崇义县| 盐池县| 清流县| 三明市| 嘉兴市| 邵阳县| 舟曲县| 文水县| 鄂尔多斯市| 滨州市| 萍乡市| 阿拉善左旗| 宁河县| 马鞍山市| 乡城县| 扎赉特旗| 龙山县|