C上機實驗報告3_第1頁
C上機實驗報告3_第2頁
C上機實驗報告3_第3頁
C上機實驗報告3_第4頁
C上機實驗報告3_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+程序?qū)嶒瀳蟾鎸嶒災(zāi)康?. 掌握 類的定義和使用2. 掌握 類的定義和對象的聲明3. 復習具有 不同訪問屬性的成員的訪問方式4. 觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程5. 學習 類的組合 使用方法6. 使用VC+的debug調(diào)試功能觀察程序流程,跟蹤觀察類的 構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函 數(shù)的執(zhí)行順序?qū)嶒炓?. 定義一個 CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等屬性,有兩 個 公有成 員函數(shù) run、stop。其 中,rank為枚舉類型 CPU_Rank,定 義為 enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7, frequen

2、cy 為單位是 MHz 的整型數(shù), voltage 為浮點 型的電壓值。 觀察構(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為CDROM類的一個對象,定義并實現(xiàn)這個類。3. (選做)設(shè)計一個用于人事管理的People(人員)類。考慮到通用性這里只抽象出所有類型人員都具有的屬性:number (編號)、sex (性別)、birthday (出生日期)、id (身份證號)等等。 其中“出生日期 ”定義

3、為一個 “日期”類內(nèi)嵌子對象。 用成員函數(shù)實現(xiàn)對人員信息的錄入 和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、組合。實驗內(nèi)容及實驗步驟1. 首先定義枚舉類型 CPU_Rank,例如 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)用。程序名: la

4、b4_1.cpp。源程序#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_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CPU_Rank

5、 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 構(gòu)造了一個 CPU!endl;CPU:CPU()cout 析構(gòu)了一個 CPU!|ij-p Ttt-f W 口41 砂團.!# a s 4J 4lOkAaM二阿riKlin 勺

6、 +,M3理F申已7 !叫芒mE|r* f ( Eat 仃勺TU-.-CfBI iKMtcirnT-7 1TV- i|“0左卡世TI尸離片1 H ip ff it4. 首先定義 CPU類(可使用第二題中的CPU類)、RAM類、CDROM類。再定義 Computer類;定義私有數(shù)據(jù)成員cpu、ram、cdrom,定義公有成員函數(shù)run、stop,可在其中輸出提示信息。在主程序中定義一個Computer的對象,調(diào)用其成員函數(shù),觀察類對象及其成員變量的構(gòu)造與析構(gòu)順序,以及成員函數(shù)的調(diào)用。程序名:Iab4_2.cpp.源程序#in cludeusing n amespace std;enum CPU_

7、Ra nk P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Ra nk ran k;int frequency; 頻率float voltage;/ 電壓public:CPU(CPU_Rank r, int f, float v);CPU();CPU();CPU_Ra nk GetRa nk()return ran k;int GetFreque ncy()return freque ncy;float GetVoltage()return voltage;void SetRa nk(CPU_Ra nk r)ra nk=r;void SetFreque

8、ncy(i nt f)freque ncy=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 構(gòu)造了一個 CPU!endl;CPU:CPU()cout 析構(gòu)了一個 CPU!endl; / enum RAM_Rank K1=1,K2,K3,K4,K5,K6,K7; class RAM private:RAM_Rank r

9、ank;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 v)volt

10、age=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 構(gòu)造了一個 RAM!endl;RAM:RAM()cout 析構(gòu)了一個 RAM!endl;/enum CDROM_Rank J1=1,J2,J3,J4,J5,J6,J7; class CDROM private:CDROM_Rank ra

11、nk;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()return rank; int GetFrequency()return frequency; float GetVoltage()return voltage; void SetRank(CDROM_Rank r)rank=r; void SetFrequency(int f)frequency=

12、f; void SetVoltage(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 構(gòu)造了一個 CDROM!endl;CDROM:CDROM()cout 析構(gòu)了一

13、個 CDROM!endl;class COMPUTERprivate: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.cd

14、rom;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;運行結(jié)果:1M_I 3Tirul UM lltilul. wJCHJ*_|U dus rabEiij r f XPVI tiwHl I.I Pill;円ywUjKww (f* .W-P4 l-lwl丄妊 lUrMUr* iMllal*?Fiihiliji-h r)O-n -r3i

15、nbiilr *】4*ZHK;$tiiil MTWh *!#$ LAM U i|-網(wǎng)1穴 Htni pve|d Vtot*耳乂片 ititn Aw ifui* Cki - v ,Kl, .ki, fmJ* I、p4 * rr* - tmwfBi;. tpHir I IfF -M . ;llf:. t-i*!.、打*H. $ WjeLmTh5. 使用debug調(diào)試功能觀察Iab4_2.cpp程序的運行流程,跟蹤觀察類的構(gòu)造函數(shù)、 析構(gòu)函數(shù)、 成員函數(shù)的執(zhí)行順序,特別注意觀察成員變量的構(gòu)造與析構(gòu)順序。運行結(jié)果:IfwUVTER厚ll CfiMWlE何F * I,tm iiMriw.tiII 喇知軋

16、t ):ttMqjaj.rio.Em科廉 I H r-tRMrte* “E;,4vhl ; 啲和日、l*);rvlRira* -afT IZ1們:/F *i !:-M v mi rml rwio Hi rtfnwikijtrlJ . . h-4 EieLth-bIi 他丁1 T9HH J idL. L 工“沁 F思考題1. 如何定義一個類?數(shù)據(jù),構(gòu)造函數(shù),析構(gòu)函數(shù),復制構(gòu)造函數(shù),方法。2. 如何定義類的構(gòu)造函數(shù)和析構(gòu)函數(shù)?構(gòu)造函數(shù)通用于實例化象自內(nèi)部數(shù)據(jù)員初始化設(shè)置初始值、配內(nèi)存空間等析構(gòu)函數(shù)則用于刪除象做收尾工作比釋放申請空間等3. 類的各成員函數(shù)的執(zhí)行順序是怎樣的?按調(diào)用順序執(zhí)行4. 類組合時對象的構(gòu)造順序是怎樣的?C+勾造函數(shù)中初始化

溫馨提示

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

評論

0/150

提交評論