• <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 發布時間:2020-09-29 08:50 原文鏈接: C++之繼承中的構造和析構學習總結(二)

    代碼實踐:

    image.png

    image.png

    輸出結果:

    image.png

    注解:我們可以看到,先定義了一個Child對象,然后最先訪問Object帶參構造函數,然后再是Parent帶參構造函數(說白了就是父類先觸發),然后在子類Child中又包含了組合關系(也就是客人),然后Object類中的帶參構造函數,最后再觸發自身的帶參構造函數。

    二、子類對象的析構

    1、析構函數的調用順序與構造函數相反

    (1)執行自身的析構函數

    (2)執行成員變量的析構函數

    (3)執行父類的析構函數

    代碼實踐:

    image.png

    image.png

    image.png

    輸出結果:

    image.png

    三、總結:

    子類對象在創建時需要調用父類構造函數進行初始化

    先執行父類構造函數然后執行成員的構造函數

    父類構造函數顯示調用需要在初始化列表中進行

    子類對象在銷毀時需要調用父類析構函數進行清理

    析構順序與構造順序對稱相反


  • <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 调性视频