<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一.析構函數 ### 1.作用 + 對象生存期結束時由系統自動調用,完成對象被清除前的一些清理工作。 ### 2.調用時機 + 對象到達作用域末尾 + `delete` 對象 ### 3.特點 + **無名函數** 它只是被編譯器調用,而不是被程序員調用。 + **無返回值** + **沒有參數** 也不允許默認參數。 ### 4.定義和聲明 + **定義** `~類名() {}` + **聲明** `~類名();` ### 5.默認的析構函數 如果類中沒有構造函數,則編譯器可以自動創建一個空的公有析構函數。 >當類滿足下列條件時,編譯器 **不會** 自動創建析構函數: > >+ 有用戶定義的析構函數 >當類滿足下列條件時,編譯器將析構函數定義為棄置的 `delete`(在C++11之前,這些情況下編譯器不會自動創建析構函數): > >+ 非靜態類類型數據成員或基類沒有析構函數,或析構函數不能訪問(例如將析構函數設置為私有)。 ```c++ //讓Pointer類接管一個動態分配的單個空間 //這樣就不需要程序員手動執行 delete 操作 class Pointer { private: int* ptr; public: Pointer() {} Pointer(int* heap) { ptr = heap; } //析構函數,釋放空間 ~Pointer() { delete ptr; } }; ``` ## 二.析構函數和構造函數的執行次序 棧式管理,嚴格相反。后創建的先析構。 ```c++ #include <iostream> using namespace std; class Man{ public: Man() { cout<<"初始化Man對象"<<endl; } ~Man() { cout<<"刪除Man對象"<<endl; } }; class Woman{ public: Woman() { cout<<"初始化Woman對象"<<endl; } ~Woman() { cout<<"刪除Woman對象"<<endl; } }; class Pair{ private: Man husband; Woman wife; public: Pair() { cout<<"初始化Pair對象"<<endl; } ~Pair() { cout<<"刪除Pair對象"<<endl; } }; int main() { Pair p; cout<<"p已初始化完畢"<<endl; return 0; } ``` >[test] > 初始化Man對象 > 初始化Woman對象 > 初始化Pair對象 > p已初始化完畢 > 刪除Pair對象 > 刪除Woman對象 > 刪除Man對象
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看