C++上機(jī)實(shí)驗(yàn)報(bào)告_第1頁
C++上機(jī)實(shí)驗(yàn)報(bào)告_第2頁
C++上機(jī)實(shí)驗(yàn)報(bào)告_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C+程序?qū)嶒?yàn)報(bào)告實(shí)驗(yàn)?zāi)康?. 掌握 類的定義和使用2. 掌握 類的定義和對(duì)象的聲明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. 定義一個(gè) CPU類,包含等級(jí)(rank )、頻率(frequency )、電壓(voltage )等屬 性,有兩個(gè)公有成員函數(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. 定義一個(gè)簡單的Computer類,有數(shù)據(jù)成員芯片(cpu )、內(nèi)存(ram)、光驅(qū)(cdrom) 等等,有兩個(gè)公有成員函數(shù)run、stop。cpu為CPU類的一個(gè)對(duì)象,ram為RAM類的 一個(gè)對(duì)象,cdrom為CDRO類的一個(gè) 對(duì)象,定義并實(shí)現(xiàn)這個(gè)類。3(選做)設(shè)計(jì)一個(gè)用于人事管理的People( 人員) 類??紤]到通用性這里只抽象出所有類型人員都具有的屬性:number (編號(hào))、sex (性別)、birthday (出生日期)、 id (身份證號(hào))等等。其中“出生日期”定義為一個(gè)“日期”類內(nèi)嵌

3、子對(duì)象。用成 員函數(shù)實(shí)現(xiàn)對(duì)人員信息的錄入和顯示。要求包括:構(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類,包含等級(jí)(rank )、頻率(frequency )、電壓(voltage ) 等私有數(shù)據(jù)成員,定義成員函數(shù) run、 stop ,用來輸出提示信息,在構(gòu)造函數(shù)和 析構(gòu)函數(shù)中也可以輸出提示信息。在主程序中定義一個(gè)CPU的對(duì)象,調(diào)用其成員函數(shù),觀察類對(duì)象的構(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)造了一個(gè) CPU!&

6、quot;<<endl;CPU:CPU()cout<<" 析構(gòu)了一個(gè) 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)行,一個(gè) 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對(duì)象的run()函數(shù),單擊Step Into ,程序進(jìn)入run()成 員函數(shù),連續(xù)單擊 Step Over ,直到回到 main() 函數(shù)。6) 繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對(duì)類的構(gòu)造函數(shù)、 析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序的認(rèn)識(shí)。7) 再試試Debug菜單欄中別的菜單項(xiàng),熟悉

8、Debug的各種方法。運(yùn)行結(jié)果:4.首先定義CPU類(可使用第二題中的 CPU類)、RAM類、CDRO類。再定義Computer 類;定義私有數(shù)據(jù)成員 cpu、ram、cdrom,定義公有成員函數(shù)run、stop,可在其中 輸出提示信息。在主程序中定義一個(gè) Computer 的對(duì)象,調(diào)用其成員函數(shù),觀察類對(duì) 象及其成員變量的構(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)造了一個(gè) CPU!"<<endl;CPU:CPU()cout<<" 析構(gòu)了一個(gè) 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)造了一個(gè) RAM!

13、"<<endl;RAM:RAM()cout<<" 析構(gòu)了一個(gè) 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)造了一個(gè) CDROM!"<<endl;CDROM:CDROM()cout<<" 析構(gòu)了一個(gè) 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. 如何 定義一個(gè)類 ?數(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ù)則用于刪除象做收尾工作比釋放申請(qǐng)空間等3. 類的 各成員函數(shù)的執(zhí)行順序 是怎樣的?按調(diào)用順序執(zhí)行4. 類 組合時(shí)對(duì)象的構(gòu)造順序 是怎

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論