<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            構造函數與析構函數

            時間:2024-08-27 22:42:32 自動化畢業論文 我要投稿
            • 相關推薦

            構造函數與析構函數

             

            實驗目的
            觀察構造函數和析構函數的執行過程。
            學習類的聚集使用方法。
            使用VC++的debug調試功能觀察程序流程,跟蹤觀察類的構造函數、析構函數、成員函數的執行順序。
            實驗任務
            定義一個CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等屬性,有兩個公有成員函數run、stop。其中,rank為枚舉類型CPU_Rank,定義為enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7},frequency為單位是MHz的整型數,voltage為浮點型的電壓值。觀察構造函數和析構函數的調用順序。(在實驗三完成的程序的基礎上繼續做)
            定義一個簡單的Computer類,有數據成員芯片(cpu)、內存(ram)、光驅(cdrom)等等,有兩個公有成員函數run、stop。cpu為CPU類的一個對象,ram為RAM類的一個對象,cdrom為CDROM類的一個對象,定義并實現這個類。(在實驗三完成的程序的基礎上繼續做)
            (選做)設計一個用于人事管理的People(人員)類。考慮到通用性,這里只抽象出所有類型人員都具有的屬性:number(編號)、sex(性別)、birthday(出生日期)、id(身份證號)等等。其中“出生日期”定義為一個“日期”類內嵌子對象。用成員函數實現對人員信息的錄入和顯示。要求包括:構造函數和析構函數。(在實驗三完成的程序的基礎上繼續做)
            實驗步驟
            首先定義枚舉類型CPU_Rank,例如enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7},再定義CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等私有數據成員,定義成員函數run、stop,用來輸出提示信息,在構造函數和析構函數中也可以輸出提示信息。在主程序中定義一個CPU的對象,調用其成員函數,觀察類對象的構造與析構順序,以及成員函數的調用。程序名:lab4_1.cpp。
            使用debug調試功能觀察程序ab4_1.cpp的運行流程,跟蹤觀察類的構造函數、析構函數、成員函數的執行順序。參考程序如下:
            //lab4_1.cpp
            #include <iostream.h>

            enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};
            class CPU
            {
            private:
             CPU_Rank rank;
             int frequency;
             float voltage;
            public:
                CPU (CPU_Rank r, int f, float v)
             {
              rank = r;
              frequency = f;
              voltage = v;
              cout << "構造了一個CPU!" << endl;
             }
             ~CPU () { cout << "析構了一個CPU!" << endl; }

                CPU_Rank GetRank() const { return rank; }
                int GetFrequency() const { return frequency; }
             float GetVoltage() const { return voltage; }

                void SetRank(CPU_Rank r) { rank = r; }
                void SetFrequency(int f) { frequency = f; }
                void SetVoltage(float v) { voltage = v; }

                void Run() {cout << "CPU開始運行!" << endl; }
             void Stop() {cout << "CPU停止運行!" << endl; }
            };

            void main()
            {
             CPU a(P6,300,2.8);
             a.Run();
             a.Stop();
            }
            調試操作步驟如下:
            單擊Build | Start Debug | Step Into命令,或按下快捷鍵F11,系統進入單步執行狀態,程序開始運行,一個DOS窗口出現,此時Visual Studio中光標停在main()函數的入口處;
            從Debug菜單或Debug工具欄中單擊Step Over,此時,光標下移,程序準備執行CPU對象的初始化;
            單擊Step Into,程序準備執行CPU類的構造函數;
            連續單擊Step Over,觀察構造函數的執行情況,直到執行完構造函數,程序回到主函數;
            此時程序準備執行CPU對象的run()方法,單擊Step Into,程序進入run()成員函數,連續單擊Step Over,直到回到main()函數;
            繼續執行程序,參照上述的方法,觀察程序的執行順序,加深對類的構造函數、析構函數、成員函數的執行順序的認識;
            再試試Debug菜單欄中別的菜單項,熟悉Debug的各種方法。
            首先定義CPU類(可使用第二題中的CPU類)、RAM類、CDROM類。再定義Computer類:定義私有數據成員cpu、ram、cdrom,定義公有成員函數run、stop,可在其中輸出提示信息。在主程序中定義一個Computer的對象,調用其成員函數,觀察類對象及其成員變量的構造與析構順序,以及成員函數的調用。程序名:lab4_2.cpp。
            使用debug調試功能觀察lab4_2.cpp程序的運行流程,跟蹤觀察類的構造函數、析構函數、成員函數的執行順序,特別注意觀察成員變量的構造與析構順序。

            【構造函數與析構函數】相關文章:

            函數的零點03-07

            函數概念的“源”與“流03-29

            二次函數在函數解答題中的考查的問題和策略11-16

            函數概念教學的幾點思考11-22

            矩陣函數的性質及其應用03-07

            初中數學函數小論文05-14

            函數概念教學的現狀分析03-29

            在Delphi中巧用Windows 的API函數03-20

            論隨機變量函數的分布03-07

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看