<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 構造函數與析構函數

    時間: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

    主站蜘蛛池模板: 久久久精品国产亚洲成人满18免费网站 | 久久精品这里只有精99品| 亚洲精品成人网站在线观看| 99精品视频在线观看婷| 精品无码久久久久国产| 欧美精品福利视频一区二区三区久久久精品 | 久久精品无码av| 欧美日韩精品乱国产538| 日本aⅴ精品中文字幕| 久久精品国产一区二区三区不卡| 国产精品嫩草影院一二三区入口| 色一乱一伦一图一区二区精品| 日韩精品无码人妻一区二区三区| 国产成人99久久亚洲综合精品| 久久久国产精品福利免费| 精品国产福利一区二区| 亚洲精品高清在线| 久久久WWW成人免费精品| 国产精品久操视频| 久久这里只精品国产99热| 囯产精品一品二区三区| 久久精品国产第一区二区三区| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 999精品视频这里只有精品| 无码人妻精品一区二区三区夜夜嗨| 精品无码一级毛片免费视频观看| 成人国产一区二区三区精品| 日韩精品免费视频| 精品在线免费观看| 国产福利91精品一区二区三区| 久久99久久99精品免视看动漫| 午夜精品久久久久久久| 自拍偷自拍亚洲精品情侣| 婷婷国产成人精品一区二| 久久这里只有精品视频99| 国产这里有精品| 精品99又大又爽又硬少妇毛片| 国产系列高清精品第一页| 国产在AJ精品| 久久综合精品国产一区二区三区| 日韩午夜高清福利片在线观看欧美亚洲精品suv |