版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+程序實驗報告實驗目的1. 掌握 類的定義和使用2. 掌握 類的定義和對象的聲明3. 復習具有 不同訪問屬性的成員的訪問方式4. 觀察 構造函數(shù)和析構函數(shù)的執(zhí)行過程5. 學習類的組合 使用方法6. 使用VC+啲debug調試功能觀察程序流程,跟蹤觀察類的構造函數(shù)、析構函數(shù)、 成員函數(shù)的執(zhí)行順序實驗要求1. 定義一個 CPU類,包含等級(rank )、頻率(frequency )、電壓(voltage )等屬 性,有兩個公有成員函數(shù)run、stop。其中,rank為枚舉類型CPU_Rank定義為 enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7,frequency 為單位
2、是 MHZ的整型數(shù), voltage 為浮點型的電壓值。 觀察構造函數(shù)和析構函數(shù)的調用順序。2. 定義一個簡單的Computer類,有數(shù)據(jù)成員芯片(cpu )、內存(ram)、光驅(cdrom) 等等,有兩個公有成員函數(shù)run、stop。cpu為CPU類的一個對象,ram為RAM類的 一個對象,cdrom為CDRO類的一個 對象,定義并實現(xiàn)這個類。3(選做)設計一個用于人事管理的People( 人員) 類??紤]到通用性這里只抽象出所有類型人員都具有的屬性:number (編號)、sex (性別)、birthday (出生日期)、 id (身份證號)等等。其中“出生日期”定義為一個“日期”類內嵌
3、子對象。用成 員函數(shù)實現(xiàn)對人員信息的錄入和顯示。要求包括:構造函數(shù)和析構函數(shù)、拷貝構造 函數(shù)、內聯(lián)成員函數(shù)、組合。實驗內容及實驗步驟1首先定義枚舉類型 CPU_Ran,k 例如 enum CPU_RankP1=1, P2, P3, P4, P5, P6,P7,再定義 CPU類,包含等級(rank )、頻率(frequency )、電壓(voltage ) 等私有數(shù)據(jù)成員,定義成員函數(shù) run、 stop ,用來輸出提示信息,在構造函數(shù)和 析構函數(shù)中也可以輸出提示信息。在主程序中定義一個CPU的對象,調用其成員函數(shù),觀察類對象的構造與析構順序, 以及成員函數(shù)的調用。 程序名: lab4_1.cp
4、p 源程序#include<iostream>using namespace std;enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Rank rank;int frequency;float voltage;public:CPU(CPU_Rank r, int f, float v);CPU();CPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank
5、(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; ;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<" 構造了一個 CPU!&
6、quot;<<endl;CPU:CPU()cout<<" 析構了一個 CPU!"<<endl;void main()CPU a(P4, 200, 3.8);a.Run();a.Stop();運行結果:2. 使用 debug 調試功能觀察程序 lab4_1.cpp 的運行流程,跟蹤觀察類的構造函數(shù)、 析構函數(shù)、成員函數(shù)的執(zhí)行順序。3調試操作步驟如下:1) 單擊Build | Start Debug | Step Into命令,或按下快捷鍵 F11,系統(tǒng)進入單步執(zhí)行狀態(tài),程序幵始運行,一個 DOS窗口出現(xiàn),此時 Visual Studio 中
7、光標停在 main() 函數(shù)的入口處;2) 從Debug菜單或Debug工具欄中單擊Step Over,此時,光標下移,程序準備執(zhí)行CPU寸象的初始化;3) 單擊Step Into ,程序準備執(zhí)行CPU類的構造函數(shù);4) 連續(xù)單擊 Step Over ,觀察構造函數(shù);5) 此時程序準備執(zhí)行 CPU對象的run()函數(shù),單擊Step Into ,程序進入run()成 員函數(shù),連續(xù)單擊 Step Over ,直到回到 main() 函數(shù)。6) 繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對類的構造函數(shù)、 析構函數(shù)、成員函數(shù)的執(zhí)行順序的認識。7) 再試試Debug菜單欄中別的菜單項,熟悉
8、Debug的各種方法。運行結果:4.首先定義CPU類(可使用第二題中的 CPU類)、RAM類、CDRO類。再定義Computer 類;定義私有數(shù)據(jù)成員 cpu、ram、cdrom,定義公有成員函數(shù)run、stop,可在其中 輸出提示信息。在主程序中定義一個 Computer 的對象,調用其成員函數(shù),觀察類對 象及其成員變量的構造與析構順序,以及成員函數(shù)的調用。程序名: lab4_2.cpp.源程序#include<iostream>using namespace std;enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CP
9、U_Rank rank;int frequency;/頻率float voltage;/電壓public:CPU(CPU_Rank r, int f, float v);CPU();CPU();CPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CPU_Rank r)rank=r;void SetFrequency(int f)frequency=f;void SetVoltage(float v)voltage=v;void
10、 Run()cout<<"CPU 開始運行 !"<<endl;void Stop()cout<<"CPU 停止運行 !"<<endl; ;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<" 構造了一個 CPU!"<<endl;CPU:CPU()cout<<" 析構了一個 CPU!"<<endl;/enum RAM_Rank K1=
11、1,K2,K3,K4,K5,K6,K7;class RAMprivate:RAM_Rank rank;int frequency;float voltage;int large;/ 大小public:RAM(RAM_Rank r, int f, float v,int c);RAM();RAM()RAM_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(RAM_Rank r)rank=r;void SetFrequency(int
12、f)frequency=f;void SetVoltage(float v)voltage=v;void Setlarge(int c)large=c;void Run()cout<<"RAM 開始運行 !"<<endl;void Stop()cout<<"RAM 停止運行 !"<<endl; ;RAM:RAM(RAM_Rank r, int f, float v,int c)rank=r;frequency=f;voltage=v;large=c;cout<<" 構造了一個 RAM!
13、"<<endl;RAM:RAM()cout<<" 析構了一個 RAM!"<<endl;/enum CDROM_Rank J1=1,J2,J3,J4,J5,J6,J7;class CDROMprivate:CDROM_Rank rank;int frequency;float voltage;int large;/ 大小float w;/ 轉速public:CDROM(CDROM_Rank r, int f, float v,int c,float m);CDROM();CDROM()CDROM_Rank GetRank()ret
14、urn rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CDROM_Rank r)rank=r;void SetFrequency(int f)frequency=f;void SetVoltage(float v)voltage=v;void Setlarge(int c)large=c;void Setw(float m)w=m;void Run()cout<<"CDROM 開始運行 !"<<endl;void Stop()
15、cout<<"CDROM 停止運行 !"<<endl;CDROM:CDROM(CDROM_Rank r, int f, float v,int c,float m)rank=r;frequency=f;large=c;w=m;voltage=v;cout<<" 構造了一個 CDROM!"<<endl;CDROM:CDROM()cout<<" 析構了一個 CDROM!"<<endl;class COMPUTERprivate:CPU cpu;RAM ram;CDRO
16、M cdrom;public:void Run()cout<<"computer RUN"<<endl;void Stop()cout<<"computer STOP"<<endl;COMPUTER()COMPUTER(CPU&cpu1,RAM& ram1,CDROM& cdrom1)cpu=cpu1;ram=ram1;cdrom=cdrom1;COMPUTER(COMPUTER&computer2)cpu=computer2.cpu;ram=computer2.ram; c
17、drom=computer2.cdrom;int main()CPU cpu(P1,100,2);RAM ram(K2, 100, 2, 12 );CDROM cdrom(J3,100,23,233,23);COMPUTER computer(cpu,ram,cdrom);computer.Run();computer.Stop();return 0;運行結果:5. 使用 debug 調試功能觀察 lab4_2.cpp 程序的運行流程,跟蹤觀察類的構造函數(shù)、 析構函數(shù)、成員函數(shù)的執(zhí)行順序,特別注意觀察成員變量的構造與析構順序。運行結果:思考題1. 如何 定義一個類 ?數(shù)據(jù),構造函數(shù),析構函數(shù),復制構造函數(shù),方法。 。2. 如何 定義類的構造函數(shù)和析構函數(shù)?構造函數(shù)通用于實例化象自內部數(shù)據(jù)員初始化設置初始值、配內存空間等析構函數(shù)則用于刪除象做收尾工作比釋放申請空間等3. 類的 各成員函數(shù)的執(zhí)行順序 是怎樣的?按調用順序執(zhí)行4. 類 組合時對象的構造順序 是怎
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高中語文精讀課文一第1課3侍奉皇帝與走向人民作業(yè)含解析新人教版選修中外傳記蚜
- 2024年海南職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 財政學(第一章導論)
- 2024年河南職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年江西管理職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 2024年汕尾職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 2024年廣州南洋理工職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年山東勞動職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年威海海洋職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年天津工藝美術職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 過盈配合壓裝力計算
- 中國的世界遺產(chǎn)智慧樹知到答案章節(jié)測試2023年遼寧科技大學
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復
- GB/T 37518-2019代理報關服務規(guī)范
- GB/T 34370.1-2017游樂設施無損檢測第1部分:總則
- GB/T 15924-1995錫礦石化學分析方法碘量法測定錫量
- GB/T 13914-2013沖壓件尺寸公差
- 貝利尤單抗Belimumab詳細說明書與重點
- BB/T 0045-2021紙漿模塑制品工業(yè)品包裝
- PPT溝通的藝術課件
評論
0/150
提交評論