C上機(jī)試驗報告_第1頁
C上機(jī)試驗報告_第2頁
C上機(jī)試驗報告_第3頁
C上機(jī)試驗報告_第4頁
C上機(jī)試驗報告_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

C++程序?qū)嶒瀳蟾鎸嶒災(zāi)康恼莆疹惖亩x和使用掌握類的定義和對象的聲明復(fù)習(xí)具有不同訪問屬性的成員的訪問方式觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程學(xué)習(xí)類的組合使用方法6?使用VC++的debug調(diào)試功能觀察程序流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序?qū)嶒炓蠖x一個CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等屬性,有兩個公有成員函數(shù)run、stop。其中,rank為枚舉類型CPU_Rank定義為enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}frequency為單位是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)這個類。(選做)設(shè)計一個用于人事管理的 People(人員)類??紤]到通用性這里只抽象出所有類型人員都具有的屬性:number(編號)、sex(性別)、birthday(出生日期)、id(身份證號)等等。其中出生日期”定義為一個“日期”類內(nèi)嵌子對象。用成員函數(shù)實現(xiàn)對人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、組合。實驗內(nèi)容及實驗步驟1.首先定義枚舉類型CPU_Rank,例如enumCPU_Rank{P1=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.cpp。源程序#include<iostream>usingnamespacestd;enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};classCPU{private:CPU_Rankrank;intfrequency;floatvoltage;public:CPU(CPU_Rankr,intf,floatv);~CPU();CPU_RankGetRank(){returnrank;}intGetFrequency(){returnfrequency;}floatGetVoltage(){returnvoltage;}voidSetRank(CPU_Rankr){rank=r;}voidSetFrequency(intf){frequency=f;}voidSetVoltage(floatv){voltage=v;}voidRun(){cout<<"CPU開始運(yùn)行!"<<endl;}voidStop(){cout<<"CPU停止運(yùn)行!"<<endl;}};CPU::CPU(CPU_Rankr,intf,floatv){rank=r;frequency=f;voltage=v;cout<<"構(gòu)造了一個CPU!"<<endl;}CPU::~CPU(){cout<<"析構(gòu)了一個CPU!"<<endl;}voidmain(){CPUa(P4,200,3.8);a.Run();a.Stop();}運(yùn)行結(jié)果:使用debug調(diào)試功能觀察程序lab4_1.cpp的運(yùn)行流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序。3.調(diào)試操作步驟如下:單擊Build|StartDebug|StepInto命令,或按下快捷鍵F11,系統(tǒng)進(jìn)入單步執(zhí)行狀態(tài),程序開始運(yùn)行,一個DOS窗口出現(xiàn),此時VisualStudio中光標(biāo)停在main()函數(shù)的入口處;從Debug菜單或Debug工具欄中單擊StepOver,此時,光標(biāo)下移,程序準(zhǔn)備執(zhí)行CPU對象的初始化;單擊StepInto,程序準(zhǔn)備執(zhí)行CPU類的構(gòu)造函數(shù);4)連續(xù)單擊StepOver,觀察構(gòu)造函數(shù);此時程序準(zhǔn)備執(zhí)行CPU對象的run()函數(shù),單擊StepInto,程序進(jìn)入run()成員函數(shù),連續(xù)單擊StepOver,直到回到main()函數(shù)。繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序的認(rèn)識。再試試Debug菜單欄中別的菜單項,熟悉 Debug的各種方法。運(yùn)行結(jié)果:首先定義CPU類(可使用第二題中的CPU類)、RAM類、CDROM類。再定義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>usingnamespacestd;enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};classCPU{private:CPU_Rankrank;intfrequency;//頻率floatvoltage;//電壓public:CPU(CPU_Rankr,intf,floatv);~CPU();CPU(){};CPU_RankGetRank(){returnrank;}intGetFrequency(){returnfrequency;}floatGetVoltage(){returnvoltage;}voidSetRank(CPU_Rankr){rank=r;}voidSetFrequency(intf){frequency=f;}voidSetVoltage(floatv){voltage=v;}voidRun(){cout<<"CPU開始運(yùn)行!"<<endl;}voidStop(){cout<<"CPU停止運(yùn)行!"<<endl;}};CPU::CPU(CPU_Rankr,intf,floatv){rank=r;frequency=f;voltage=v;cout<<"構(gòu)造了一個CPU!"<<endl;}CPU::~CPU(){cout<<"析構(gòu)了一個CPU!"<<endl;}//enumRAM_Rank{K1=1,K2,K3,K4,K5,K6,K7};classRAM{private:RAM_Rankrank;intfrequency;floatvoltage;intlarge;//大小public:RAM(RAM_Rankr,intf,floatv,intc);~RAM();RAM(){}RAM_RankGetRank(){returnrank;}intGetFrequency(){returnfrequency;}floatGetVoltage(){returnvoltage;}voidSetRank(RAM_Rankr){rank=r;}voidSetFrequency(intf){frequency=f;}voidSetVoltage(floatv){voltage=v;}voidSetlarge(intc){large=c;}voidRun(){cout<<"RAM開始運(yùn)行!"<<endl;}voidStop(){cout<<"RAM停止運(yùn)行!"<<endl;}};RAM::RAM(RAM_Rankr,intf,floatv,intc){rank=r;frequency=f;voltage=v;large=c;cout<<"構(gòu)造了一個RAM!"<<endl;}RAM::~RAM(){cout<<"析構(gòu)了一個RAM!"<<endl;}//enumCDROM_Rank{J1=1,J2,J3,J4,J5,J6,J7};classCDROM{private:CDROM_Rankrank;intfrequency;floatvoltage;intlarge;//大小floatw;//轉(zhuǎn)速public:CDROM(CDROM_Rankr,intf,floatv,intc,floatm);~CDROM();CDROM(){}CDROM_RankGetRank(){returnrank;}intGetFrequency(){returnfrequency;}floatGetVoltage(){returnvoltage;}voidSetRank(CDROM_Rankr){rank=r;}voidSetFrequency(intf){frequency=f;}voidSetVoltage(floatv){voltage=v;}voidSetlarge(intc){large=c;}voidSetw(floatm){w=m;}voidRun(){cout<<"CDROM開始運(yùn)行!"<<endl;}voidStop(){cout<<"CDROM停止運(yùn)行!"<<endl;}};CDROM::CDROM(CDROM_Rankr,intf,floatv,intc,floatm){rank=r;frequency=f;large=c;w=m;voltage=v;cout<<"構(gòu)造了一個CDROM!"<<endl;}CDROM::~CDROM(){cout<<"析構(gòu)了一個CDROM!"<<endl;}classCOMPUTER{private:CPUcpu;RAMram;CDROMcdrom;public:voidRun(){cout<<"computerRUN"<<endl;}voidStop(){cout<<"computerSTOP"<<endl;}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;}};intmain(){CPUcpu(P1,100,2);RAMram(K2,100,2,12);CDROMcdrom(J3,100,23,233,23);COMPUTERcomputer(cpu,ram,cdrom);computer.Run();computer.Stop();return0;}運(yùn)行結(jié)果:使用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ù)通用于實例化象自內(nèi)部數(shù)據(jù)員初始化設(shè)置初始值、配內(nèi)存空間等析構(gòu)函數(shù)則用于刪除象做收尾工作比釋放申請空間等類的各成員函數(shù)的執(zhí)行順序是怎樣的?按調(diào)用順序執(zhí)行類組合時對象的構(gòu)造順序是怎樣的?C++構(gòu)造函數(shù)中初始化

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論