面向?qū)ο蟪绦蛟O(shè)計實驗指導書_第1頁
面向?qū)ο蟪绦蛟O(shè)計實驗指導書_第2頁
面向?qū)ο蟪绦蛟O(shè)計實驗指導書_第3頁
面向?qū)ο蟪绦蛟O(shè)計實驗指導書_第4頁
面向?qū)ο蟪绦蛟O(shè)計實驗指導書_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計實驗指導書實驗一、C+開發(fā)環(huán)境應用入門(2學時)(選做)1、實驗目的(1) 了解C+開發(fā)工具的特點(2) 熟悉C+開發(fā)環(huán)境(3) 學習用C+編寫標準的C+程序2、實驗任務(wù) 使用C+來建立一個非圖形化的標準C+程序,編譯、運行下例程序: #include <iostream.h> void main(void) cout<<”Hello!n”; cout<<”Welcome to C+!n”; 3、實驗步驟(1) 啟動Visual C+或C+Builder開發(fā)環(huán)境(2) 創(chuàng)建一個項目A) 單擊File菜單中的New選項,顯示示新建對話框B) 選

2、擇Console Wizard(C+Builder) 或Win32 Console Application(VC+)。C) 選擇項目所在路徑及輸入項目的名稱D) 依次按下一步直至完成為止。(3) 至此,C+Builder已經(jīng)建立好工程相關(guān)的文件(請不要隨意更改其自動生成的文件),在生成的main函數(shù)中寫入必要的內(nèi)容即可。(4) 對于VC,請繼續(xù)下面的步驟:A) 建立C+源程序文件a)選選菜單命令Project|Add to Project|New,彈出New對話框b)在New對話框的Files選項卡中選擇C+ Source File,并填入文件名稱,單擊OK按鈕,完成新建C+源程序文件B) 編

3、輯C+源程序文件a) 在文件編輯窗口中輸入代碼b) 完成后,選擇菜單File|Save保存這個文件C) 建立并運行可執(zhí)行程序a) 選擇菜單命令Build,建立可執(zhí)行程序如果你正確輸入了源程序,此時便成功地生成了可執(zhí)行程序。如果程序有語法錯誤,則屏幕下方的狀態(tài)窗口中會顯示錯誤信息,根據(jù)這些錯誤信息對源程序進行修改后,重新選擇菜單命令Build建立可執(zhí)行程序。b) 選擇菜單命令Run,運行程序,觀察屏幕顯示內(nèi)容。D) 關(guān)閉工作空間選擇菜單命令File|Colse WorkSpace關(guān)閉工作空間。實驗二、簡單程序設(shè)計(24學時)1、實驗目的:(1) 學會編寫簡單的C+程序。(2) 練習使用簡單的輸入

4、輸出。(3) 觀察頭文件的作用。(4) 學會使用VC+ 6.0的DEBUG調(diào)試程序。 2、實驗任務(wù):(1)輸入并運行教材C+語言程序設(shè)計中的例題2-7,即:用do-while語句編程,求自然數(shù)110之和。程序正確運行之后,去掉源程序中的#include語句,重新編譯,觀察會有什么問題。(2) do-while語句用for語句代替,完成相同的功能。(3) 程計算圖形的面積。程序可計算圓形、長方形、正方形的面積,運行時先提示用戶選擇圖形的類型,然后,對圓形要求用戶輸入半徑值,對長方形要求用戶輸入長和寬的值,對正方形要求用戶輸入邊長的值,計算出面積后將其顯示出來。a) 使用debug調(diào)試功能觀察程序

5、運行中變量值的變化情況。b) 定義一個表示時間的結(jié)構(gòu)體,可以精確表示年、月、日、小時、分、秒;提示用戶輸入年、月、日、小時、分、秒的值,然后完整地顯示出來。 3、實驗步驟(1) 建立一個控制臺應用程序項目lab2_1,向其中添加一個C+源文件lab2_1.cpp,輸入教材C+語言程序設(shè)計中例2-7的代碼,檢查一下確認沒有輸入錯誤,選擇菜單命令編譯源程序,再選擇Execute運行程序,觀察輸出是否與教材中的答案一致。(2) 程序正確運行之后,在源程序第一行”#include <iostream.h>”前面加注釋標記”/”使之成為注釋行,重新編譯,觀察編譯的結(jié)果。(3) 另建立一個項目

6、lab2_2,包含一個C+源程序lab2_2.cpp,將do-while語句用for語句代替,完成與實驗任務(wù)1相同的功能。(4) 建立項目lab2_3,計算圖形面積。圓形的面積計算公式為S=PI*r*r,長方形的面積計算公式為S=a*b,正方形的面積市場計算公式為S=a*a。程序中定義一個整型變量iType表示圖形的類型,用cout語句輸出提示信息讓用戶選擇圖形的型,用cin讀入iType的值,然后,使用switch語句判斷圖形的類型,分別提示用戶輸入需要的參數(shù)值,計算出面積的值后用cout語句顯示出來。最后編譯運行程序。(5) 學習簡單的debug調(diào)試功能,參考程序如下: /lab2_3.c

7、pp#include <iostream.h>const float PI=3.1416;void main() int iType; float radius,a,b,area; cout<<”圖形的類型?(1為圓形,2為長方形,3為正方形):”;cin>>iType; switch(iType) case 1:cout << “圓的半徑為:”;cin>>radius;area=PI*radius*radius;cout<<”面積為”<<area<<endl;break; case 2:cout&

8、lt;<”矩形的長為:”;cin>>a;cout<<”矩形的寬為:”;cin>>b;area=a*b;cout<<”面積為:”<<area<<endl;break; case 3:cout<<”正方形的邊長為:”;cin>>a;area=a*a;cout<<”面積為:”<<area<<endl;break; default: cout<<”不是合法的輸入值!”<<endl;A) 選在第10行處設(shè)置調(diào)試斷點。用鼠標左鍵單擊源程序第10行

9、左邊的空白處,出現(xiàn)一個菜單。B) 擇Insert|Remove Breakpoint選項,可看到左邊的邊框上出現(xiàn)一個褐色的圓點,這代表已經(jīng)在這里設(shè)置了一個斷點。C) 后選擇菜單命令Build|Start Debug|Go,系統(tǒng)統(tǒng)進入Debug狀態(tài),程序開發(fā)運行,并停在斷點處。D) 單步執(zhí)行,并觀察程序中相應變量的變化情況。實驗三、函數(shù)的應用(2學時)(選做)1、實驗目的:a) 掌握函數(shù)的定義和調(diào)用方法。b) 練習重載函數(shù)使用。c) 練習函數(shù)模板的使用d) 練習使用系統(tǒng)函數(shù)。 2、實驗任務(wù):c) 編寫一個函數(shù)把華氏溫度轉(zhuǎn)換為攝氏溫度,轉(zhuǎn)換公式為:C=(F-32)*5/9。d) 編寫重載函數(shù)Max

10、1可分別求取兩個整數(shù),三個整數(shù),兩個雙精度數(shù),三個雙精度數(shù)的最大值。e) 使用重函數(shù)模板重新實現(xiàn)上小題中的函數(shù)Max1。f) 使用系統(tǒng)函數(shù)pow(x,y)計算xy的值,注意包含頭文件math.h。g) 用遞歸的方法編寫函數(shù)求Fibonacci級數(shù),觀察遞歸調(diào)用的過程。 3、實驗步驟1) 編寫函數(shù)float Convert(float TempFer),參數(shù)的返回值都為float類型,實現(xiàn)算法C=(F-32)*5/9,在main()函數(shù)中實現(xiàn)輸入、輸出。程序名為lab3_1.cpp.2) 分別編寫四個同名函數(shù)max1,實現(xiàn)函數(shù)重載,在main()函數(shù)中測試函數(shù)功能。程序名:lab3_2.cpp。

11、3) 使用函數(shù)模板實現(xiàn)求任意類型數(shù)的最大值,針對不同的參數(shù)個數(shù),編寫兩個同名函數(shù)模板max1,其參數(shù)個數(shù)不同,實現(xiàn)函數(shù)重載,在main()函數(shù)中測試函數(shù)的功能。和序名:lab3_3.cpp。4) 在main()函數(shù)中提示輸入兩個整數(shù)x,y,使用cin語句得到x,y的值,調(diào)用pow(x,y)函數(shù)計算x的y次冪的結(jié)果,再顯示出來。程序名:lab3_4.cpp。5) 編寫遞歸函數(shù)int fib(int n),在主程序中輸入n的值,調(diào)用fib函數(shù)計算Fibonacci級數(shù)。公式為fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if語句判斷函數(shù)的出口,

12、在程序中用cout語句輸出提示信息。程序名:lab3_5.cpp。6) 使用debug中的Step Info追蹤到函數(shù)的內(nèi)部,觀察函數(shù)的調(diào)用過程,參考程序如下:/lab3_5#include <iostream.h>int fib(int n);int main() int n,answer; cout<<”Enter number:”; cin>>n; cout <<”nn”; answer=fib(n); cout<<answer<<”is the “<<n<<”th Fibonnaci num

13、bern”; return 0;int fib(int n) if(n<3) return 1; else return fib(n-2)+fib(n-1); 7)調(diào)試操作步驟如下:i. 選擇菜單命令Build|Start Debug |Step In,系統(tǒng)進入單步執(zhí)行狀態(tài),程序開始運行,并出現(xiàn)一個DOS窗口,此時光標停在main()函數(shù)的入口處。 ii. 把光標移到語句answer=fib(n)前,從Debug菜單單擊Run To Cursor,在程序運行的DOS窗口中按提示輸入數(shù)字10,這時回到可視界面中,光標停在第11行,觀察一下n的值。iii. 從Debug菜單中單擊Step I

14、nto,程序進入fib函數(shù),觀察一下n的值,把光標移到語句return(fib(n-2)+fib(n-1)前,從Debug菜單單擊Run to Cursor,再單擊Step Into,程序遞歸調(diào)用fib函數(shù),又進入fib函數(shù),觀察n的值。iv. 繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對函數(shù)調(diào)用和遞歸調(diào)用的理解。v. 再試試Debug菜單欄中的別的菜單項,熟悉Debug的各種方法。實驗四、類與對象(2學時)1、 實驗目的: (1) 掌握類的定義和使用(2) 掌握類的定義和對象的聲明(3) 復習具有不同訪問屬性的成員的訪問方式。(4) 察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程。(5) 學習類

15、的聚集使用方法。(6) 使用DEBUG來調(diào)試程序,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序。 2、實驗任務(wù)1)定義一個CPU類,包含等級(rank)、頻率(frequency)、電壓(voltage)等屬性,有兩個公有成員函數(shù)run、stop。其中rank為枚舉類型CPU_Rank,定義為enum CPU_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)等等,cpu為CPU

16、類的一個對象,ram為RAM類的一個對象,cdrom為CDROM類的一個對象,定義并實現(xiàn)這個類。3)(選做)設(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ù)。3、實驗步驟(1) 首先定義枚舉類型CPU_Rank,例如 enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7,再定義CPU類,包含等級(

17、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。(2) 使用debug調(diào)試功能觀察lab4_1.cpp的運行流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序。參考程序如下:/lab4_1.cpp#include <iostream.h>enum CPU_Rank(P1=1,P2,P3,P4,P5,P6,P7);class CPUp

18、rivate: CPU_Rank rank; Int frequency; Float voltage;Public: CPU(CPU_Rank r,int f,float v) rank=r;frequency=f;voltage=v;cout<<”構(gòu)造了一個CPU!”<<endl; CPU()cout<<”析構(gòu)了一個CPU!”<<endl; CPU_Rank GetRank() constreturn rank; Int GetFrequency() const return frequency; Float GetVoltage() con

19、st return voltage; Void SetRank(CPU_Rank r)rank=r; Void SetFrequency(int f)frequency=f; Void SetVoltage(float v)voltage=v; Void Run()cout<<”CPU開始運行!”<<endl; Void Stop()cout<<CPU停止運行!”<<endl;;void main() CPU a(P6,300,2.8);i. Run();a. Stop();(3)調(diào)試操作步驟如下:Build|Start Debug|Step I

20、nto 命令,系統(tǒng)進行單步執(zhí)行狀態(tài),程序開始運行,一個DOS窗口出現(xiàn),此時光標停在main()函數(shù)的入口處;A)從Debug菜單欄中單擊Step Over,此時,光標下移,程序準備執(zhí)行CPU對象的初始化;B)單擊Step Into,程序準備執(zhí)行CPU類的構(gòu)造函數(shù);C)連續(xù)單擊Step Over,觀察構(gòu)造函數(shù)的執(zhí)行情況,直到執(zhí)行完構(gòu)造函數(shù),程序回到主函數(shù);D)此時程序準備執(zhí)行CPU對象的run()函數(shù),單擊Step Into,程序進入run()成員函數(shù),連續(xù)單擊Step Over,直到回到main()函數(shù);E)繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函

21、數(shù)的執(zhí)行順序的認識;F)再試Debug菜單欄中的別的菜單項,熟悉Debug的各種方法。G)選定義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。(5) 使用debug調(diào)試功能觀察lab4_2.cpp程序的運行流程,跟蹤觀察類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序,特別注意觀察成員變量的構(gòu)造與析構(gòu)順序。實驗五 C+程序的結(jié)構(gòu)(2學時)一、實

22、驗目的1 觀察程序運行中變量的作用域、生存期和可見性。2 學習類的靜態(tài)成員的使用。3 學習多文件結(jié)構(gòu)在C+程序中的使用。二、實驗任務(wù)1運行下面的程序,觀察變量x、y的值。 /lab5_1.cpp#include<iostream.h>void fnl();int x=1,y=2; int main() count<<"Begin."<<endl; count<<"x="<<x<<endl; count<<"y="<<y<<end

23、l; count<<"Evaluate x and y in main()."<<endl; int x=10, y=20; count<<"x="<<x<<endl; count<<"y="<<y<<endl; count<<"Step into fnl()."<<endl; fnl(); count<<"Back in main"<<endl; co

24、unt<<"x="<<x<<endl; count<<"y="<<y<<endl; return 0;void fnl() int y=20; count<<"x="<<x<<endl; count<<"y="<<y<<endl;2現(xiàn)客戶機(CLIENT)類。定義字符型靜態(tài)數(shù)據(jù)成員ServerName,保存其服務(wù)器名稱;整型靜態(tài)數(shù)據(jù)成員ClientNum,記錄已定義的客戶數(shù)

25、量;定義靜態(tài)函數(shù)ChangeSeverName()改變服務(wù)器名稱。在頭文件client.h中定義類,在文件client.cpp中實現(xiàn),在test.cpp中測試這個類,觀察相應的成員變量取值的變化情況。三、實驗步驟1 運行程序lab5_1,觀察程序輸出。全局變量的作用域為文件作用域,在整個程序運行期間有效,但如果在局部模塊中定義了同名的變量,則在局部模塊中,可見的是局部變量,此時,全局變量不可見;而局部變量的生存期只限于相應的程序模塊中,離開相應的程序模塊,局部變量x、y就不再存在,此時同名的全局變量重新可見。2 新建一個空的項目lab5_2,添加頭文件client.h,在其中定義類CLIENT

26、,注意使用編譯預處理命令;再添加原程序文件client.cpp,在其中實現(xiàn)CLIENT類,注意靜態(tài)成員變量的使用方法,再添加文件lab5_2.cpp,在其中定義main()函數(shù),測試CLIENT類,觀察相應的成員變量取值的變化情況。實驗6 數(shù)組、指針與字符串(2學時) 一、 實驗目的1 學習使用數(shù)組。2 學習字符串數(shù)據(jù)的組織和處理。3 學習標準C+庫的使用。4 掌握指針的使用方法。5 練習通過debug觀察指針的內(nèi)容及其所指的對象的內(nèi)容。6 練習通過動態(tài)內(nèi)存分配實現(xiàn)動態(tài)數(shù)組,并體會指針在其中的作用。7 分別使用字符數(shù)組和標準C+庫練習處理字符串的方法。二、 實驗任務(wù)1 編寫并測試3*3 矩陣轉(zhuǎn)

27、置函數(shù),使用數(shù)組保存 3*3 矩陣。2 使用動態(tài)內(nèi)存分配生成動態(tài)數(shù)組來重新完成上題,使用指針實現(xiàn)函數(shù)的功能。3 編程實現(xiàn)兩字符串的連接。要求使用字符數(shù)組保存字符串,不要使用系統(tǒng)函數(shù)。4 使用sting類定義字符串的連接。要求使用字符數(shù)組保存字符串,不要使用系統(tǒng)函數(shù)。5 定義一個Employee類,其中包括姓名、街道地址、城市和郵遍等屬性。以及 change_name() 和display()等函數(shù)。display()顯示姓名、街道地址、城市和郵遍等屬性,change_name()改變對象的姓名。實現(xiàn)并測試這個類。6 定義包含5個元素的對象數(shù)組,每個元素都是Employee類型的對象。7 (選做

28、)修改實驗4中的選做實驗中People(人員)類。具有的屬性如下: 姓名char name11、 編號char number7、性別 char sex3、生日 birthday、身份證號 char id16。其中“出生日期”定義為一個“日期”類內(nèi)嵌對象。用成員函數(shù)實現(xiàn)對人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、聚集。在測試程序中定義 people類的對象數(shù)組,錄入數(shù)據(jù)并顯示。三、實驗步驟8 編寫矩陣轉(zhuǎn)置函數(shù),輸入?yún)?shù)為3*3整型數(shù)組,使用循環(huán)語句實現(xiàn)矩陣元素的行列對調(diào),注意在循環(huán)語句中究竟需要對哪些元素進行操作,編寫main()函數(shù)實現(xiàn)輸輸出。程序名lab6

29、_1.cpp。9 改寫矩陣轉(zhuǎn)置函數(shù),參數(shù)為整型指針,使用指針對數(shù)組元素進行操作,在main()函數(shù)中 new 操作符分配內(nèi)存生成動態(tài)數(shù)組。通過debug lab6_2.cpp。10 編程實現(xiàn)兩字符串的連接。 定義字符數(shù)組保存字符串,在程序中提示用戶輸入兩個字符串,實現(xiàn)兩個字符串的連接,最后用count 語句顯示輸出。程序名:lab6_3.cpp。用 cin 實現(xiàn)輸入,注意,字符串的結(jié)束標志是ASCII碼 0,使用循環(huán)語句進行字符串間的字符拷貝。11 使用string類定義字符串對象,編程實現(xiàn)兩字符串的連接。在string類中已重載了運算符“+ =”實現(xiàn)字符串的連接,可以使用這個功能。程序名:l

30、ab6_4.cpp。12 在employee.h文件中定義Employee類, EmpLoyee類具有姓名、街道地址、城市和郵遍等私有數(shù)據(jù)成員,都可以用字符型數(shù)組來表示,在成員函數(shù)中,構(gòu)造函數(shù)用來初始化所有成員數(shù)組,對字符數(shù)組的賦值可以使用字符串拷貝函數(shù) strcpy(char *,char * name);display()中使用count顯示姓名、街道地址、城市和郵遍等屬性,chang_name()改變類中表示姓名屬性的字符數(shù)組類型的數(shù)據(jù)成員。在主程序中定義這個類的對象并對其進行操作。程序名: lab6_5.cpp。13 使用上一小題中定義的Employee類定義對象數(shù)組enp5,使用循環(huán)

31、語句把數(shù)據(jù)顯示出來。程序名:lab6_6.cpp。實驗七、繼承與派生(一、二)4學時1、實驗目的:(1) 學習定義和使用類的繼承關(guān)系,定義派生類。(2) 熟悉不同繼承方式下對基類成員的訪問控制。(3) 學習利用虛基類解決二義性問題 2、實驗任務(wù)a)定義一個基類Animal,有私有整型成員變量age,構(gòu)造其派生類dog,在其成員函數(shù)SetAge(int n)中直接給age賦值,看看會有什么問題,把age改為公有成員變量,還會有問題嗎?編程試試看。b)定義一個基類BaseClass,有整型成員變量Number ,構(gòu)造其派生類DerivedClass,觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行情況。c)定義一個車

32、(vehicle)基類,具有MaxSpeed、Weight等成員變量,Run、Stop等成員函數(shù),由此派生出自行車(bicycle)類、汽車(motorcar)類。自行車類有高度(height)等屬性,汽車類有座位數(shù)(SeatNum)等屬性。從bicycle和motorcar派生出摩托車(motorcycle)類,在繼承過程中,注意把vehicle設(shè)置為虛基類。如果不把vehicle設(shè)置為虛基類,會有什么問題?編程試試看。d)(選做)從實驗6中的people(人員)類派生出student(學生)類,添加屬性:班號char classNo7;從people類派生出teacher(教師)類,添加屬

33、性:職務(wù)char principalship11、部門char department21。從student類派生出graduate(研究生)類,添加屬性:專業(yè)char subject21、導師teacher adviser;從graduate類和teacher類派出TA(助教生)類,注意虛基類的使用。重載相應的成員函數(shù),測試這些類。 3、實驗步驟(1) 編寫程序定義基類Animal,成員變量age定義為私有的。構(gòu)造派生類dog,在其成員函數(shù)SetAge(int n)中直接對age賦值時,會出現(xiàn)類似以下的錯誤提示:error C2248:age:cannot access private mem

34、ber declared in class Animalerror C2248:age:cannot access private member declared in class Animal把age改為公有成員變量后重新編譯就可以了。程序名為:lab7_1.cpp(2) 編寫程序定義一個基類BassClass,構(gòu)造其派生類DerivedClass,在構(gòu)造函數(shù)和析構(gòu)函數(shù)中用cout輸出提示信息,觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行情況。程序名為:lab7_2.cpp。(3) 用debug功能跟蹤程序lab7_2的執(zhí)行過程,觀察基類和派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行情況。(4) 寫程序定義一個車(vehicle)基類,由此派生出自行車(bicycle)類、汽車類(motorcar)類,注意把vehicle派生為虛基類。再從bicycle和motorcar派生出摩托車(motorcycle)類,在main()函數(shù)中測試這個類。程序名為:lab7_3.cpp。 編譯成功后,把vehicle設(shè)置為非虛基類,再編譯一次,此時系統(tǒng)報錯,無法編譯成功。這是因為若不把vehicle設(shè)置為虛基類,會出現(xiàn)二義性錯誤,程序不能成功編譯。實驗八、多態(tài)性2學時1、實驗目的:(1) 掌握運算符重載

溫馨提示

  • 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

提交評論