版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗一 類與對象一、 實驗?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í)行順序。二、 實驗任務(wù)1、聲明一個 CPU 類,包含等級( rank )、頻率( frequency )、電壓( voltage )等屬性,有兩個公有成員函數(shù) run 、 stop 。其中, rank 為枚舉類型 CPU_Rank ,聲明為 enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7,
2、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)這個類。3、(選作)設(shè)計一個用于人事管理的People (人員)類??紤]到通用性,這里只抽象出所有類型人員都具有的屬性:number (編號)、sex (性別)、birthday (出生日期)
3、、id(身份證號)等等。其中“出生日期”聲明為一個“日期”類內(nèi)嵌子對象。用成員函數(shù) 實現(xiàn)對人員信息的錄入和顯示。要求包括:構(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 CPUprivate:CPU_Rank rank;int freauency;float voltage;public: rank=r;freauency=f;voltage=v;cout This is CPU construct programendl;CPU()cou
4、t 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;運行結(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 CDROMprivate: intrank; intsize;public: rank=r;size=s;void run()cout The CDROM is runn
7、ingendl;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 This is Computer is stopend
8、l;(); ();int main() enum CPU_Rank rank;rank=p5;CPU cpu1(rank,1024,; RAMram(5,1024); CDROMcdrom(5,1024); Computer cp(cpu1,ram,cdrom);();();return 0;實驗二 C+ 程序結(jié)構(gòu)1、 實驗?zāi)康?.觀察程序運行中的變量的作用域、生存期和可見性。2.學(xué)習(xí)類的靜態(tài)成員的使用。3.學(xué)習(xí)多文件結(jié)構(gòu)在 C+ 程序中的使用。2、實驗任務(wù)1.運行下面程序, 2. 觀察變量 x、 y 的值。實現(xiàn)客戶機( CLIENT )類。定義字符型靜態(tài)數(shù)據(jù)成員ServerName , 4.
9、保存其服 5. 務(wù)器名 6. 稱:整型靜態(tài)數(shù)據(jù)成員 ClientNum , 7.記錄已定義的客戶數(shù)量;定義靜態(tài)函數(shù) ChangeServerName ()改變服 8. 務(wù)器名 9.稱。在頭文件中定義類,10. 在文件中實現(xiàn), 11. 在文件中測試這個類, 12. 觀察相應(yīng)的成員變量取值的變化情況。實驗二 C+ 程序結(jié)構(gòu)1、實驗?zāi)康?. 觀察程序運行中的變量的作用域、生存期和可見性。學(xué)習(xí)類的靜態(tài)成員的使用。學(xué)習(xí)多文件結(jié)構(gòu)在 C+ 程序中的使用。2、 實驗任務(wù)1. 運行下面程序, 2.觀察變量 x、 y 的值。實現(xiàn)客戶機( CLIENT )類。定義字符型靜態(tài)數(shù)據(jù)成員 ServerName ,4.
10、保存其服務(wù)器名 稱:整型靜態(tài)數(shù)據(jù)成員 ClientNum ,記錄已定義的客戶數(shù)量;定義靜態(tài)函數(shù) ChangeServerName ()改變服務(wù)器名稱。在頭文件中定義類,在文件中實現(xiàn),在文 件中測試這個類,觀察相應(yīng)的成員變量取值的變化情況。三、實驗結(jié)果1.2. 服務(wù)器名稱為: N客戶機數(shù)量為: 2服務(wù)器名稱為: A實驗源代碼:1.#include using namespace std;void fn1();int x = 1, y = 2;void main()cout Begin. endl;cout x = x endl;cout y = y endl;cout Evaluate x an
11、d 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. /#include #include using namespace std;class CLIENTprivate:static char Ser
12、verName;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:GetClientNum()return ClientNum;void CLIENT:ChangServerName(char name) Serv
13、erName=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 客戶機數(shù)量為: CLIENT:GetClientNum() endl; cout 服務(wù)器名稱為: CLIENT:GetServerName() e
14、ndl;實驗三 數(shù)組與指針一、實驗?zāi)康?、學(xué)習(xí)使用數(shù)組。2、學(xué)習(xí)字符串?dāng)?shù)據(jù)的組織和處理。3、掌握指針的使用方法。4、練習(xí)通過 debug 觀察指針的內(nèi)容及其所指的對象的內(nèi)容。5、練習(xí)通過動態(tài)內(nèi)存分配實現(xiàn)動態(tài)數(shù)組,并體會指針在其中的作用二、實驗任務(wù)1、測試 3X3 矩陣轉(zhuǎn)置函數(shù)的程序,程序如下:#include using namespace std;void move (int matrix33)int i, j, k;for(i=0; i3; i+)for (j=0; ji; j+) k = matrixij; matrixij = matrixji; matrixji = k;int ma
15、in()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; j+) cout dataij ;cout endl;2、使用動態(tài)內(nèi)存分配生成動態(tài)數(shù)組來重新設(shè)計一個3X3 矩陣轉(zhuǎn)置函數(shù),使
16、用指針實現(xiàn)函數(shù)的功能。3、編程實現(xiàn)兩字符串的連接。要求使用字符數(shù)組保存字符串,不要使用系統(tǒng)函數(shù) 4、使用 String 類定義字符串對象,重新實現(xiàn)上一小題。(選作) 5 、定義一個 Employee 類,其中包括姓名、街道地址、城市 和郵編等屬性,以及 change_name ( )和 display ()等函數(shù)。 display( ) 顯示姓名、街道地址、城市和郵編等屬性, change_name ()改變對 象的姓名屬性。實現(xiàn)并測試這個類。 (提示:對字符數(shù)組的賦值可以 使用字符串拷貝函數(shù) strcpy ( char * , char* ,name )。(選作) 6、定義包含個 5 元素的
17、對象數(shù)組,每個元素都是Employee類型的對象。實驗四 繼承與派生一、實驗?zāi)康?、學(xué)習(xí)定義和使用類的繼承關(guān)系,定義派生類。2、熟悉不同繼承方式下對基類成員的訪問控制。3、學(xué)習(xí)利用虛基類解決二義性問題。二、實驗任務(wù)1、定義一個基類 Animal ,有私有整型成員變量 age ,構(gòu)造其派生類 dog, 在其成員函數(shù) SetAge(int n) 中直接給 age 賦值,看看會有什么問題, 把 age 改為公有成員變量,還會有問題嗎編程試試看。2、定義一個基類 BaseClass ,有整型成員變量 Number ,構(gòu)造其派生類 DerivedClass, 觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行情況。3、定義一
18、個車( vehicle )基類,具有 MaxSpeed 、 Weight 等成員變 量, Run ,Stop 等成員函數(shù),由此派生出自行車(bicycle )類、汽車( motorcar )類,自行車類具有高度( Height )等屬性,汽車類有 座位數(shù)( SeatNum )等屬性。從 bicycle 和 motorcar 類派生出摩托車 ( motorcycle )類,在繼承過程中,注意把 vehicle 設(shè)置為虛基類。如 果不把設(shè)置為虛基類,會有什么問題編程試試看。實驗結(jié)果:1、error C2248: age : cannot access private member declared
19、in class Animal改正方案:將 Animal 類中私有成員 age 換成公共成員。2、 構(gòu)造基類對象 !構(gòu)造派生類對象 !析構(gòu)派生類對象 !析構(gòu)基類對象 !3、 Now it is running!Now it has stopped!/ 如果 vehicle 不是虛基類,有錯誤:error C2385: motorcycle:Run is ambiguous? 源程序:1 、 #include using namespace std;class Animalprivate: intage;public:Animal();Animal();class Dog : private Animalpublic: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)造基類對象 ! endl;BaseClass() cout 析構(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車銷售公司售后服務(wù)保障合同3篇
- 2024年科技創(chuàng)新項目贊助合同3篇
- 2025下半年浙江麗水市青田縣招聘國企業(yè)工作人員及人員高頻重點提升(共500題)附帶答案詳解
- 2025下半年廣西玉林市殘疾人聯(lián)合會直屬事業(yè)單位市殘疾人康復(fù)中心招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省雅安市級事業(yè)單位招聘117人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省內(nèi)江威遠縣鎮(zhèn)屬事業(yè)單位專項招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川南充市順慶區(qū)事業(yè)單位招聘22人高頻重點提升(共500題)附帶答案詳解
- 2025上??茖W(xué)技術(shù)交流中心工作人員公開招聘高頻重點提升(共500題)附帶答案詳解
- 2025上半年陜西省寶雞市事業(yè)單位歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年浙江省舟山廣播電視總臺招聘事業(yè)單位人員13人高頻重點提升(共500題)附帶答案詳解
- TCNEA-高溫氣冷堆球形燃料元件包裝技術(shù)規(guī)范
- DL∕T 1502-2016 廠用電繼電保護整定計算導(dǎo)則
- 滬教版九年級數(shù)學(xué)上冊期中期末挑戰(zhàn)滿分沖刺卷期中測試卷02(原卷版+解析)
- 《跨境電商英語》課程標(biāo)準
- 上海市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量調(diào)研化學(xué)檢測試卷(含答案)
- 陜西省西北工業(yè)大學(xué)附中2024屆高一數(shù)學(xué)第二學(xué)期期末經(jīng)典試題含解析
- 中儲糧管理制度
- 高鐵乘務(wù)員的儀態(tài)禮儀課件
- 污水排入城鎮(zhèn)污水管網(wǎng)排放口設(shè)置技術(shù)規(guī)范
- 建筑施工企業(yè)的安全生產(chǎn)管理全面手冊
- 河湖長制培訓(xùn)課件
評論
0/150
提交評論