版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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為單位是MHz的整型數(shù),vo
2、ltage為浮點型的電壓值。觀察構造函數(shù)和析構函數(shù)的調用順序。 2.定義一個簡單的Computer類,有數(shù)據成員芯片(cpu)、內存(ram)、光驅(cdrom)等等,有兩個公有成員函數(shù)run、stop。cpu為CPU類的一個對象,ram為RAM類的一個對象,cdrom為CDROM類的一個對象,定義并實現(xiàn)這個類。 3(選做)設計一個用于人事管理的People(人員)類。考慮到通用性這里只抽象出所有類型人員都具有的屬性:number(編號)、sex(性別)、birthday(出生日期)、id(身份證號)等等。其中“出生日期”定義為一個“日期”類內嵌子對象。用成員函數(shù)實現(xiàn)對人員信息的錄入和顯示。要
3、求包括:構造函數(shù)和析構函數(shù)、拷貝構造函數(shù)、內聯(lián)成員函數(shù)、組合。實驗內容及實驗步驟 1 首先定義枚舉類型CPU_Rank,例如enum CPU_RankP1=1, P2, P3, P4, P5, P6, P7,再定義CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等私有數(shù)據成員,定義成員函數(shù)run、stop,用來輸出提示信息,在構造函數(shù)和析構函數(shù)中也可以輸出提示信息。在主程序中定義一個CPU的對象,調用其成員函數(shù),觀察類對象的構造與析構順序,以及成員函數(shù)的調用。程序名:lab4_1.cpp。源程序#includeusing namespace std;enum
4、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(CPU_Rank r)rank=r;void SetFrequency(int f)frequency=f
5、; void SetVoltage(float v)voltage=v; void Run()coutCPU開始運行!endl;void Stop()coutCPU停止運行!endl;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout構造了一個CPU!endl;CPU:CPU()cout析構了一個CPU!endl;void main()CPU a(P4, 200, 3.8);a.Run();a.Stop();運行結果: 2.使用debug調試功能觀察程序lab4_1.cpp的運行流程,跟蹤觀察類的構造函數(shù)、析
6、構函數(shù)、成員函數(shù)的執(zhí)行順序。 3調試操作步驟如下: 1)單擊Build | Start Debug | Step Into命令,或按下快捷鍵F11,系統(tǒng)進入單步執(zhí)行狀態(tài),程序開始運行,一個DOS窗口出現(xiàn),此時Visual Studio 中光標停在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ù),連
7、續(xù)單擊Step Over,直到回到main()函數(shù)。 6)繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對類的構造函數(shù)、析構函數(shù)、成員函數(shù)的執(zhí)行順序的認識。 7)再試試Debug菜單欄中別的菜單項,熟悉Debug的各種方法。 運行結果:4.首先定義CPU類(可使用第二題中的CPU類)、RAM類、CDROM類。再定義Computer類;定義私有數(shù)據成員cpu、ram、cdrom,定義公有成員函數(shù)run、stop,可在其中輸出提示信息。在主程序中定義一個Computer的對象,調用其成員函數(shù),觀察類對象及其成員變量的構造與析構順序,以及成員函數(shù)的調用。程序名:lab4_2.cpp.源程序#
8、includeusing 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();CPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CPU_Rank
9、r)rank=r;void SetFrequency(int f)frequency=f; void SetVoltage(float v)voltage=v; void Run()coutCPU開始運行!endl;void Stop()coutCPU停止運行!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=1,K2,K3,K4,K5,K6,K7;class RAMprivate:
10、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 f)frequency=f; void SetVoltage(float
11、v)voltage=v;void Setlarge(int c)large=c; void Run()coutRAM開始運行!endl;void Stop()coutRAM停止運行!endl;RAM:RAM(RAM_Rank r, int f, float v,int c)rank=r;frequency=f;voltage=v;large=c;cout構造了一個RAM!endl;RAM:RAM()cout析構了一個RAM!endl;/enum CDROM_Rank J1=1,J2,J3,J4,J5,J6,J7;class CDROMprivate:CDROM_Rank rank;int fr
12、equency;float voltage;int large;/大小float w;/轉速public:CDROM(CDROM_Rank r, int f, float v,int c,float m);CDROM();CDROM()CDROM_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CDROM_Rank r)rank=r;void SetFrequency(int f)frequency=f; void SetVolt
13、age(float v)voltage=v;void Setlarge(int c)large=c;void Setw(float m)w=m; void Run()coutCDROM開始運行!endl;void Stop()coutCDROM停止運行!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 COMPUTERpriva
14、te:CPU cpu;RAM ram;CDROM cdrom;public:void Run()coutcomputer RUNendl;void Stop()coutcomputer STOPendl;COMPUTER()COMPUTER(CPU&cpu1,RAM& ram1,CDROM& cdrom1)cpu=cpu1;ram=ram1;cdrom=cdrom1;COMPUTER(COMPUTER&computer2)cpu=computer2.cpu;ram=computer2.ram;cdrom=computer2.cdrom;int main()CPU cpu(P1,100,2);R
15、AM 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ù)據,構造函數(shù),析構函數(shù),復制構造函數(shù),方法。2. 如何定義類的構造函數(shù)和析構函數(shù)?構造函數(shù)通用于實例化象自內部數(shù)據員初始化設置初始值、配內存空間等析構函數(shù)則用于刪除象做收尾工作比釋放申請空間等3. 類的各成員函數(shù)的執(zhí)行順序是怎樣的?按調用順序執(zhí)行4. 類組合時對象的構造順序是怎樣的? C+構造函數(shù)中初始化成員_參數(shù)列表初
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開年會議領導發(fā)言稿范文(5篇)
- 幼小銜接培訓心得體會
- 感動中國十大人物先進事跡15篇
- 開業(yè)的致辭(集錦15篇)
- 感人婚禮致辭
- 第六單元課外古詩詞誦讀《朝天子.詠喇叭》 統(tǒng)編版語文九年級下冊
- 智研咨詢發(fā)布:2024年中國智能魚缸行業(yè)市場發(fā)展環(huán)境及前景研究報告
- 2024年中國無人機交通管理(UTM)行業(yè)市場規(guī)模及發(fā)展前景研究報告(智研咨詢)
- 二零二五版帶車位產權房屋買賣合同范本2篇
- 二零二五年度大型活動物資運輸合同書定制版3篇
- 2025年銷售部年度工作計劃
- 2024年蘇州工業(yè)園區(qū)服務外包職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- ESG表現(xiàn)對企業(yè)財務績效的影響研究
- 車間空調崗位送風方案
- 2023-2024年同等學力經濟學綜合真題及參考答案
- 農村集體土地使用權轉讓協(xié)議
- 2024年湖南高速鐵路職業(yè)技術學院單招職業(yè)技能測試題庫附答案
- 湖北金獅礦業(yè)股份有限公司南漳縣獅子巖鋁土礦區(qū)猴子巖礦段礦產資源開發(fā)利用與生態(tài)復綠方案
- 黑枸杞生物原液應用及產業(yè)化項目可行性研究報告
- TQGCML 2624-2023 母嬰級空氣凈化器 潔凈空氣和凈化等級技術要求
- 睡眠障礙護理查房課件
評論
0/150
提交評論