c++面向?qū)ο笤囼?yàn)報(bào)告_第1頁(yè)
c++面向?qū)ο笤囼?yàn)報(bào)告_第2頁(yè)
c++面向?qū)ο笤囼?yàn)報(bào)告_第3頁(yè)
c++面向?qū)ο笤囼?yàn)報(bào)告_第4頁(yè)
c++面向?qū)ο笤囼?yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 類與對(duì)象一、實(shí)驗(yàn)?zāi)康?、掌握類的聲明和使用。2、掌握類的聲明和對(duì)象的聲明。3、復(fù)習(xí)具有不同訪問(wèn)屬性的成員的訪問(wèn)方式。4、觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過(guò)程。5、學(xué)習(xí)類的組合使用方法。6、使用VC+啲debug調(diào)試功能觀察程序流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員 函數(shù)的執(zhí)行順序。二、實(shí)驗(yàn)任務(wù)1、聲明一個(gè)CPU類,包含等級(jí)(rank )、頻率(frequency )、電壓(voltage )等屬性,有兩個(gè)公有成員函數(shù)run、stop。其中,rank為枚舉類型 CPU_Rank聲明為 enumCPU_RankP1=1,P2,P3,P4,P5,P6,P7 ,frequency 為單位是 M

2、Hz的整型數(shù),voltage 為 浮點(diǎn)型的電壓值。觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。2、 聲明一個(gè)簡(jiǎn)單的 Computer類,有數(shù)據(jù)成員芯片(cpu)、內(nèi)存(ram)、光驅(qū)(cdrom)等 等,有兩個(gè)公有成員函數(shù)run、stop。 cpu為CPU類的一個(gè)對(duì)象,ram為RAM類的一個(gè) 對(duì)象,cdrom為CDROI類的一個(gè)對(duì)象,聲明并實(shí)現(xiàn)這個(gè)類。3、(選作)設(shè)計(jì)一個(gè)用于人事管理的 People (人員)類。考慮到通用性,這里只抽象出所有類型人員都具有的屬性:number (編號(hào))、sex (性另U)、birthday (出生日期)、id(身份證號(hào))等等。其中“出生日期”聲明為一個(gè)“日期”類內(nèi)嵌子對(duì)

3、象。用成員函數(shù) 實(shí)現(xiàn)對(duì)人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián) 成員函數(shù)、組合。1 、 #include using namespace std;enum CPU_Rank p1=1,p2,p3,p4,p5,p6,p7;class CPU private:CPU_Rank rank;int freauency;float voltage;public:CPU(CPU_Rank r, int f,float v) rank=r;freauency=f;voltage=v;cout This is CPU construct programendl;CPU()cout

4、 This is CPU destroy functionendl;void run()cout The CPU is runningendl;void stop()cout The CPU is Stoppingendl;int main()enum CPU_Rank rank;rank=p5;CPU cpu1(rank,1024,;();();return 0;運(yùn)行結(jié)果: This is CPU construct programThe CPU is runningThe CPU is StoppingThis is CPU destroy function2、 #include usin

5、g namespace std;enum CPU_Rank p1=1,p2,p3,p4,p5,p6,p7;class CPUprivate:CPU_Rank rank;int freauency;float voltage;public:CPU(CPU_Rank r=p1,int f=0,float v=0) rank=r;freauency=f;voltage=v;cout This is CPU construct programendl;CPU()cout This is CPU destroy functionendl; void run()cout The CPU is runnin

6、gendl; void stop()cout The CPU is Stoppingendl; ;class RAMprivate:int rank;int size;public:RAM( int r=0, int s=0) rank=r;size=s;void run()cout The RAM is runningendl; void stop()cout The RAM is Stoppingendl; ;class CDROM private:int rank;int size;public:CDROM ( int r=0, int s=0) rank=r;size=s;void r

7、un()cout The CDROM is runningendl;void stop()cout The CDROM is Stoppingendl; ;class Computerprivate:CPU cpu;RAM ram;CDROM cdrom;public:Computer(CPU c,RAM r,CDROM cd) cout This is the Computer Constructendl;cpu=c;ram=r;cdrom=cd;void run() cout This is Computer is runningendl;();();void stop () cout T

8、his is Computer is stopvoid fnlmi x = I , / 2 ;ini main()cout W 映0口.endhcout=ncout = ? endl *coiit WTwhIu且it! k and y in mainC). . . ILend; int x = 1 0 y = 20 ?CGUT W X = VOtcout y = _y endl;cout W巧tep into fnl (X * , dl 4cout V Tiatk in niain,f ;endl icoutJ Wk Wirull fcouf 0ndl :rciurn t11void fn()

9、ini # a 200ltourWx OCendl 1cour Vy= y Xendl:實(shí)現(xiàn)客戶機(jī)(CLIENT)類。定義字符型靜態(tài)數(shù)據(jù)成員ServerName, 4保存其服5.務(wù)器名6.稱:整型靜態(tài)數(shù)據(jù)成員 ClientNum,7. 記錄已定義的客戶數(shù)量;定義靜態(tài)函數(shù) ChangeServerName ()改變服8.務(wù)器名9. 稱。在頭文件中定義類,10. 在文件中實(shí)現(xiàn),11. 在文件中測(cè)試這個(gè)類,12.觀 察相應(yīng)的成員變量取值的變化情況。實(shí)驗(yàn)二C+程序結(jié)構(gòu)1、實(shí)驗(yàn)?zāi)康?. 觀察程序運(yùn)行中的變量的作用域、生存期和可見(jiàn)性。2. 學(xué)習(xí)類的靜態(tài)成員的使用。3. 學(xué)習(xí)多文件結(jié)構(gòu)在C+程序中的使用。2

10、、 實(shí)驗(yàn)任務(wù)1.運(yùn)行下面程序,2.觀察變量x、y的值。3. 實(shí)現(xiàn)客戶機(jī)(CLIENT類。定義字符型靜態(tài)數(shù)據(jù)成員ServerName, 4.保存其服務(wù)器名稱:整型靜態(tài)數(shù)據(jù)成員 ClientNum ,記錄已定義的客戶數(shù)量;定義靜態(tài)函數(shù) ChangeServerName ()改變服務(wù)器名稱。在頭文件中定義類,在文件中實(shí)現(xiàn),在文 件中測(cè)試這個(gè)類,觀察相應(yīng)的成員變量取值的變化情況。三、實(shí)驗(yàn)結(jié)果1.2. 服務(wù)器名稱為: N 客戶機(jī)數(shù)量為: 2 服務(wù)器名稱為: A實(shí)驗(yàn)源代碼:1. #include using namespace std;void fn1();int x = 1, y = 2;void ma

11、in()cout Begin. endl;cout x = x endl;cout y = y endl;cout Evaluate x and y in main(). endl;int x = 10, y = 20;cout x = x endl;cout y = y endl;cout Step into fn1(). endl;fn1();cout Back in main endl;cout x = x endl;cout y = y endl;return 0;void fn1()int y = 200;cout x = x endl;cout y = y endl;2. /#in

12、clude #include using namespace std;class CLIENTprivate:static char ServerName;static int ClientNum;public:CLIENT();CLIENT();static int GetClientNum();static void ChangServerName(char name);static char GetServerName();/#include CLIENT:CLIENT() ClientNum+ ; CLIENT:CLIENT()ClientNum- ;int CLIENT:GetCli

13、entNum()return ClientNum;void CLIENT:ChangServerName(char name)ServerName=name;char CLIENT:GetServerName()return ServerName;/#include #include int CLIENT:ClientNum = 0;char CLIENT:ServerName= N;int main()CLIENT a;CLIENT b;cout 服務(wù)器名稱為: CLIENT:GetServerName() endl; CLIENT:ChangServerName(A);cout 客戶機(jī)數(shù)量

14、為: CLIENT:GetClientNum() endl;cout 服務(wù)器名稱為: CLIENT:GetServerName() endl;實(shí)驗(yàn)三 數(shù)組與指針一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)使用數(shù)組。2、學(xué)習(xí)字符串?dāng)?shù)據(jù)的組織和處理。3、掌握指針的使用方法。4、練習(xí)通過(guò)debug觀察指針的內(nèi)容及其所指的對(duì)象的內(nèi)容。5、練習(xí)通過(guò)動(dòng)態(tài)內(nèi)存分配實(shí)現(xiàn)動(dòng)態(tài)數(shù)組, 并體會(huì)指針在其中的作用二、實(shí)驗(yàn)任務(wù)1、測(cè)試3X3矩陣轉(zhuǎn)置函數(shù)的程序,程序如下:#include using namespace std;void move (int matrix33)int i, j, k;for(i=0; i3; i+) for (j=

15、0; ji; j+) k = matrixij;matrixij = matrixji; matrixji = k;int main()int i, j;int data33;cout 輸入矩陣的元素 endl;for(i=0; i3; i+) for (j=0; j3; j+)cout 第 i+1 行第 j+1 dataij;cout 輸入的矩陣的為: endl;for(i=0; i3; i+)for (j=0; j3; j+)cout dataij ;cout endl;move(data);cout 轉(zhuǎn)置后的矩陣的為: endl;for(i=0; i3; i+)for (j=0; j3;

16、 j+)cout dataij ;cout endl;2、 使用動(dòng)態(tài)內(nèi)存分配生成動(dòng)態(tài)數(shù)組來(lái)重新設(shè)計(jì)一個(gè)3X3矩陣轉(zhuǎn)置函 數(shù),使用指針實(shí)現(xiàn)函數(shù)的功能。3、編程實(shí)現(xiàn)兩字符串的連接。要求使用字符數(shù)組保存字符串,不要 使用系統(tǒng)函數(shù)。4、使用 String 類定義字符串對(duì)象,重新實(shí)現(xiàn)上一小題。(選作)5、定義一個(gè)Employee類,其中包括姓名、街道地址、城市和郵編等屬性,以及change_nam()和display ()等函數(shù)。display() 顯示姓名、街道地址、城市和郵編等屬性,cha nge_name()改變對(duì)象的姓名屬性。實(shí)現(xiàn)并測(cè)試這個(gè)類。 (提示:對(duì)字符數(shù)組的賦值可以 使用字符串拷貝函數(shù)

17、strcpy (char * , char* , name)。(選作) 6、定義包含個(gè) 5元素的對(duì)象數(shù)組,每個(gè)元素都是 Employee 類型的對(duì)象。實(shí)驗(yàn)四 繼承與派生一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)定義和使用類的繼承關(guān)系,定義派生類。2、熟悉不同繼承方式下對(duì)基類成員的訪問(wèn)控制。3、學(xué)習(xí)利用虛基類解決二義性問(wèn)題。二、實(shí)驗(yàn)任務(wù)1、定義一個(gè)基類Animal,有私有整型成員變量age,構(gòu)造其派生類dog, 在其成員函數(shù)SetAge(int n)中直接給age賦值,看看會(huì)有什么問(wèn)題, 把a(bǔ)ge改為公有成員變量,還會(huì)有問(wèn)題嗎?編程試試看。2、定義一個(gè)基類BaseClass,有整型成員變量Number;構(gòu)造其派生類

18、DerivedClass, 觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行情況。3、定義一個(gè)車(vehicle )基類,具有MaxSpeed Weight等成員變 量,Run, Stop等成員函數(shù),由此派生出自行車(bicycle )類、汽 車(motorcar )類,自行車類具有高度(Height )等屬性,汽車類有 座位數(shù)(SeatNum等屬性。從bicycle和motorcar類派生出摩托車(motorcycle )類,在繼承過(guò)程中,注意把 vehicle 設(shè)置為虛基類。如果不把設(shè)置為虛基類,會(huì)有什么問(wèn)題?編程試試看。實(shí)驗(yàn)結(jié)果:1 、 error C2248: age : cannot access pr

19、ivate member declaredin class Animal改正方案:將Animal類中私有成員age換成公共成員2、 構(gòu)造基類對(duì)象 !構(gòu)造派生類對(duì)象 !析構(gòu)派生類對(duì)象 ! 析構(gòu)基類對(duì)象 !3、 Now it is running!Now it has stopped!/ 如果 vehicle 不是虛基類,有錯(cuò)誤:error C2385: motorcycle:Run is ambiguous源程序:1 、 #include using namespace std; class Animalprivate:int age;public:Animal();Animal();class Dog : private Animal public:Dog();Dog();void SetAge(int n) age = n;int main()Dog a;(10);return 0;2、 #include using namespace std;class BaseClasspublic:BaseClass() cout 構(gòu)造基類對(duì)象 ! endl; BaseClass() cout

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論