


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+程序?qū)嶒?yàn)報(bào)告實(shí)驗(yàn)?zāi)康?. 掌握 類的定義和使用2. 掌握 類的定義和對象的聲明3. 復(fù)習(xí)具有 不同訪問屬性的成員的訪問方式4. 觀察 構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程5. 學(xué)習(xí)類的組合 使用方法6. 使用VC+啲debug調(diào)試功能觀察程序流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、 成員函數(shù)的執(zhí)行順序?qū)嶒?yàn)要求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 為浮點(diǎn)型的電壓值。 觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。2. 定義一個簡單的Computer類,有數(shù)據(jù)成員芯片(cpu )、內(nèi)存(ram)、光驅(qū)(cdrom) 等等,有兩個公有成員函數(shù)run、stop。cpu為CPU類的一個對象,ram為RAM類的 一個對象,cdrom為CDRO類的一個 對象,定義并實(shí)現(xiàn)這個類。3(選做)設(shè)計(jì)一個用于人事管理的People( 人員) 類。考慮到通用性這里只抽象出所有類型人員都具有的屬性:number (編號)、sex (性別)、birthday (出生日期)、 id (身份證號)等等。其中“出生日期”定義為一個“日期”類內(nèi)嵌
3、子對象。用成 員函數(shù)實(shí)現(xiàn)對人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造 函數(shù)、內(nèi)聯(lián)成員函數(shù)、組合。實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)步驟1首先定義枚舉類型 CPU_Ran,k 例如 enum CPU_RankP1=1, P2, P3, P4, P5, P6,P7,再定義 CPU類,包含等級(rank )、頻率(frequency )、電壓(voltage ) 等私有數(shù)據(jù)成員,定義成員函數(shù) run、 stop ,用來輸出提示信息,在構(gòu)造函數(shù)和 析構(gòu)函數(shù)中也可以輸出提示信息。在主程序中定義一個CPU的對象,調(diào)用其成員函數(shù),觀察類對象的構(gòu)造與析構(gòu)順序, 以及成員函數(shù)的調(diào)用。 程序名: 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 開始運(yùn)行 !"<<endl;void Stop()cout<<"CPU 停止運(yùn)行 !"<<endl; ;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<" 構(gòu)造了一個 CPU!&
6、quot;<<endl;CPU:CPU()cout<<" 析構(gòu)了一個 CPU!"<<endl;void main()CPU a(P4, 200, 3.8);a.Run();a.Stop();運(yùn)行結(jié)果:2. 使用 debug 調(diào)試功能觀察程序 lab4_1.cpp 的運(yùn)行流程,跟蹤觀察類的構(gòu)造函數(shù)、 析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序。3調(diào)試操作步驟如下:1) 單擊Build | Start Debug | Step Into命令,或按下快捷鍵 F11,系統(tǒng)進(jìn)入單步執(zhí)行狀態(tài),程序幵始運(yùn)行,一個 DOS窗口出現(xiàn),此時(shí) Visual Studio 中
7、光標(biāo)停在 main() 函數(shù)的入口處;2) 從Debug菜單或Debug工具欄中單擊Step Over,此時(shí),光標(biāo)下移,程序準(zhǔn)備執(zhí)行CPU寸象的初始化;3) 單擊Step Into ,程序準(zhǔn)備執(zhí)行CPU類的構(gòu)造函數(shù);4) 連續(xù)單擊 Step Over ,觀察構(gòu)造函數(shù);5) 此時(shí)程序準(zhǔn)備執(zhí)行 CPU對象的run()函數(shù),單擊Step Into ,程序進(jìn)入run()成 員函數(shù),連續(xù)單擊 Step Over ,直到回到 main() 函數(shù)。6) 繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對類的構(gòu)造函數(shù)、 析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序的認(rèn)識。7) 再試試Debug菜單欄中別的菜單項(xiàng),熟悉
8、Debug的各種方法。運(yùn)行結(jié)果:4.首先定義CPU類(可使用第二題中的 CPU類)、RAM類、CDRO類。再定義Computer 類;定義私有數(shù)據(jù)成員 cpu、ram、cdrom,定義公有成員函數(shù)run、stop,可在其中 輸出提示信息。在主程序中定義一個 Computer 的對象,調(diào)用其成員函數(shù),觀察類對 象及其成員變量的構(gòu)造與析構(gòu)順序,以及成員函數(shù)的調(diào)用。程序名: 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 開始運(yùn)行 !"<<endl;void Stop()cout<<"CPU 停止運(yùn)行 !"<<endl; ;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<" 構(gòu)造了一個 CPU!"<<endl;CPU:CPU()cout<<" 析構(gòu)了一個 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 開始運(yùn)行 !"<<endl;void Stop()cout<<"RAM 停止運(yùn)行 !"<<endl; ;RAM:RAM(RAM_Rank r, int f, float v,int c)rank=r;frequency=f;voltage=v;large=c;cout<<" 構(gòu)造了一個 RAM!
13、"<<endl;RAM:RAM()cout<<" 析構(gòu)了一個 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;/ 轉(zhuǎn)速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 開始運(yùn)行 !"<<endl;void Stop()
15、cout<<"CDROM 停止運(yùn)行 !"<<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<<" 構(gòu)造了一個 CDROM!"<<endl;CDROM:CDROM()cout<<" 析構(gòu)了一個 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;運(yùn)行結(jié)果:5. 使用 debug 調(diào)試功能觀察 lab4_2.cpp 程序的運(yùn)行流程,跟蹤觀察類的構(gòu)造函數(shù)、 析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序,特別注意觀察成員變量的構(gòu)造與析構(gòu)順序。運(yùn)行結(jié)果:思考題1. 如何 定義一個類 ?數(shù)據(jù),構(gòu)造函數(shù),析構(gòu)函數(shù),復(fù)制構(gòu)造函數(shù),方法。 。2. 如何 定義類的構(gòu)造函數(shù)和析構(gòu)函數(shù)?構(gòu)造函數(shù)通用于實(shí)例化象自內(nèi)部數(shù)據(jù)員初始化設(shè)置初始值、配內(nèi)存空間等析構(gòu)函數(shù)則用于刪除象做收尾工作比釋放申請空間等3. 類的 各成員函數(shù)的執(zhí)行順序 是怎樣的?按調(diào)用順序執(zhí)行4. 類 組合時(shí)對象的構(gòu)造順序 是怎
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)域家用紡織品市場可持續(xù)發(fā)展策略分析考核試卷
- 機(jī)器視覺在智能交通信號燈故障檢測中的應(yīng)用考核試卷
- 2024年事業(yè)單位考試山西省長治《公共基礎(chǔ)知識》高分沖刺試題含解析
- 績效考評工作實(shí)施方案(3篇)
- 線下與線上聯(lián)合運(yùn)營方案
- 公司安全生產(chǎn)工作總結(jié)(匯編14篇)
- 四川省眉山市東坡區(qū)校際聯(lián)考2024-2025學(xué)年高一下學(xué)期6月期末政治試卷(含答案)
- 策劃方案的藍(lán)圖與執(zhí)行路徑
- 江城區(qū)七一慰問活動方案
- 漢服讀書活動方案
- 混凝土配合比自動計(jì)算書
- 過敏性休克搶救步驟流程圖
- 骨代謝標(biāo)志物在骨質(zhì)疏松診療中的應(yīng)用指南
- 百詞斬雅思核心詞匯
- 電氣控制及Plc應(yīng)用技術(shù)電子教案
- 部編版四季之美課件完美版公開課一等獎?wù)n件省課獲獎?wù)n件
- 同濟(jì)大學(xué)信紙
- PFMEA模板完整版文檔
- ECMO IABP完整版可編輯
- 珠心算習(xí)題匯總(可以打印版A4)
- 沖壓基礎(chǔ)知識及常見缺陷培訓(xùn)
評論
0/150
提交評論