




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-. z.實(shí)驗(yàn)四 派生類(lèi)與繼承【實(shí)驗(yàn)類(lèi)型】驗(yàn)證性實(shí)驗(yàn) 【實(shí)驗(yàn)課時(shí)】2學(xué)時(shí) 【實(shí)驗(yàn)?zāi)康摹? 理解類(lèi)的繼承的概念,能夠定義和使用類(lèi)的繼承關(guān)系。2 掌握派生類(lèi)的聲明與定義方法。3 熟悉公有派生和私有派生的訪問(wèn)特性。4 學(xué)習(xí)虛基類(lèi)在解決二義性問(wèn)題中的作用。【實(shí)驗(yàn)環(huán)境】硬件:計(jì)算機(jī)軟件:Microsoft Visual C+ 6.0【實(shí)驗(yàn)容】1、按要求閱讀、編寫(xiě)、調(diào)試和運(yùn)行以下程序。(1)實(shí)驗(yàn)容定義一個(gè)基類(lèi)MyArray,基類(lèi)中可以存放一組整數(shù)。class MyArraypublic: MyArray(int leng); MyArray(); void Input(); void Display();
2、protected:long int *alist; / 指向動(dòng)態(tài)申請(qǐng)的一組空間int length; / 整數(shù)的個(gè)數(shù)基類(lèi)中有構(gòu)造函數(shù)、析構(gòu)函數(shù)、輸入數(shù)據(jù)和輸出數(shù)據(jù)的函數(shù)。定義一個(gè)類(lèi)SortArray繼承自MyArray ,在該類(lèi)中定義函數(shù)實(shí)現(xiàn)排序功能。定義一個(gè)類(lèi)ReArray繼承自MyArray ,在該類(lèi)中定義函數(shù)實(shí)現(xiàn)逆轉(zhuǎn)功能。定義一個(gè)類(lèi)AverArray繼承自MyArray ,在該類(lèi)中定義函數(shù)Aver求解整數(shù)的平均值。定義NewArray類(lèi),同時(shí)繼承了SortArray, ReArray和AverArray,使得NewArray類(lèi)的對(duì)象同時(shí)具有排序、逆轉(zhuǎn)、和求平均值的功能。在繼承的過(guò)程中聲
3、明為虛基類(lèi),體會(huì)虛基類(lèi)在解決二義性問(wèn)題中的作用。2實(shí)驗(yàn)程序 (參考)程序如下:#include iostream.h#include process.hclass MyArraypublic: MyArray(int leng); MyArray(); void Input(); void Display();protected:long int *alist; / 指向動(dòng)態(tài)申請(qǐng)的一組空間int length; / 整數(shù)的個(gè)數(shù);MyArray:MyArray(int leng)length=leng; alist=new long intlength; if(alist=NULL) cout對(duì)
4、不起,創(chuàng)立失敗。請(qǐng)重試。;e*it(1); MyArray:MyArray() delete alist; cout數(shù)組被清空。endl; void MyArray:Display() / 顯示數(shù)組容 int i; long int *p=alist; for (i=0;ilength;i+,p+) cout *p;void MyArray:Input() / 從鍵盤(pán)假設(shè)干整數(shù) cout請(qǐng)輸入:length個(gè)整數(shù):; int i; long int *p=alist; for(i=0;i*p;class SortArray:virtual public MyArray private: int
5、 len; long int *sp;public: SortArray(int leng):MyArray(leng) len=leng; Sort(); ; void Sort() sp=new long intlen;long int q;sp=alist;for(int i=0;ilen;i+) for(int j=0;j*(sp+j+1) q=*(sp+j); *(sp+j)=*(sp+j+1); *(sp+j+1)=q; ;class ReArray:virtual public MyArray / 這里是虛基類(lèi),public: void Reverse() rp=new long
6、 intlen; long int q; rp=alist;for(int i=0;ilen/2;i+)q=*(rp+i); *(rp+i)=*(rp+len-i-1); *(rp+len-i-1)=q; ReArray(int leng):MyArray(leng) len=leng; Reverse(); private: int len; long int *rp;class AverArray:virtual public MyArray / 這里是虛基類(lèi),public: double Aver() ap=new long intlen; double q=0; ap=alist; f
7、or(int i=0;ilen;i+) q=q+*ap;ap+; q=q/len; return q; AverArray(int leng):MyArray(leng) len=leng; private:int len;long int *ap;class NewArray:public ReArray,public SortArray,public AverArray public: NewArray(int leng); NewArray();NewArray:NewArray(intleng):MyArray(leng),SortArray(leng),ReArray(leng),A
8、verArray(leng) coutn新數(shù)組正在創(chuàng)立。n;NewArray:NewArray() coutn新數(shù)組已被清空。n;void main() char b; int leng; do cout請(qǐng)輸入數(shù)組長(zhǎng)度:leng; while(leng=0) coutleng; coutn開(kāi)場(chǎng):n; NewArray n(leng); n.Input(); coutn您輸入的數(shù)組為:endl; n.Display(); / 顯示數(shù)組 n.Reverse(); /顯示逆序 coutn倒序數(shù)組為:endl; n.Display(); / 顯示逆轉(zhuǎn)以前的情況 coutn平均值是:n.Aver()en
9、dl;/求平均值 n.Sort(); /排序 coutn排序后從小到大數(shù)組為:endl; n.Display(); / 顯示排序以后的情況 coutnA繼續(xù) Q退出b; while(b=A|b=a);執(zhí)行結(jié)果為:2、編寫(xiě)一個(gè)學(xué)生和教師數(shù)據(jù)輸入和顯示程序。1實(shí)驗(yàn)容編寫(xiě)學(xué)生和教師數(shù)據(jù)輸入和顯示程序,學(xué)生數(shù)據(jù)有編號(hào)、班號(hào)和成績(jī),教師數(shù)據(jù)有編號(hào)、職稱和部門(mén)。要求將編號(hào)、輸入和顯示設(shè)計(jì)成一個(gè)類(lèi)person,并作為學(xué)生數(shù)據(jù)操作類(lèi)student和教師數(shù)據(jù)操作類(lèi)teacher的基類(lèi)。2實(shí)驗(yàn)程序參考#includeclass person protected:int m;char A20;char *name;
10、 public:void input()coutm;coutA; name=&A0; void display() cout編號(hào):mendl;cout:nameendl; ; class student:public person protected: int classnum, mark;public: void input1() cout輸入一個(gè)學(xué)生數(shù)據(jù):endl;input();coutclassnum;coutmark; void display1()cout顯示一個(gè)學(xué)生的數(shù)據(jù):endl;display();cout班號(hào):classnumendl;cout成績(jī):markendl; ;c
11、lass teacher: public personprotected: char zhicheng20,bumen20; char *p; public: void input2() cout顯示一個(gè)教師的數(shù)據(jù):endl; input(); coutzhicheng; coutbumen; void display2() cout顯示一個(gè)教師的數(shù)據(jù):endl; display(); p=&zhicheng0;cout職稱:pendl; p=&bumen0; cout部門(mén):pendl; ; void main() student S;teacher T; S.input1(); T.input2(); S.display1(); T.display2(); 【實(shí)驗(yàn)提示】繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)重要特性,它允許在已有類(lèi)的根底上創(chuàng)立新的類(lèi),新類(lèi)可以從一個(gè)或多個(gè)既有類(lèi)中繼承函數(shù)和數(shù)據(jù),而且可以重新定義或加進(jìn)新的數(shù)據(jù)和函數(shù),從而形成類(lèi)的層次或等級(jí)。實(shí)驗(yàn)1中著重時(shí)在這方面進(jìn)展練習(xí),除了需要熟練掌握派生類(lèi)的聲明和定義,還需要靈活運(yùn)用公有派生和私有派生來(lái)解決實(shí)際問(wèn)題。虛基類(lèi)用于想把公共的基類(lèi)只產(chǎn)生一個(gè)拷貝時(shí),它的初始化與一般的多繼承的初始化在語(yǔ)法上是一樣的,但是構(gòu)造函數(shù)的調(diào)用順序不同。C+編程中派生類(lèi)可以被基類(lèi)指針引用,這叫向后兼容,可以提高程序的可擴(kuò)大性
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第五第六的單元數(shù)學(xué)試卷
- 肉鴿生產(chǎn)技術(shù)課件
- 愛(ài)上閱讀 品味文字 主題班會(huì)課件
- 2025年03月重慶市人民醫(yī)院招聘131人筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025年黑龍江大慶市杜爾伯特蒙古族自治縣社區(qū)衛(wèi)生服務(wù)中心招聘醫(yī)學(xué)畢業(yè)生8人筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025年05月云南省楚雄州大姚縣緊密型醫(yī)共體婦幼保健分院編外聘用人員招聘(2人)筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 長(zhǎng)城汽車(chē)培訓(xùn)課件
- 2025至2030船用導(dǎo)航雷達(dá)行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030廚電產(chǎn)業(yè)行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 高考最高數(shù)學(xué)試卷
- 精神科一科一品一特色護(hù)理
- 【9物二?!可钲谑?025年4月份九年級(jí)中考第二次模擬測(cè)試物理試卷(含答案)
- 四川省成都市雙流縣2024-2025學(xué)年三下數(shù)學(xué)期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025-2030溶劑型3C涂料行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 福建省職業(yè)院校技能大賽高職組(健身指導(dǎo)賽項(xiàng))考試題(附答案)
- 大學(xué)生創(chuàng)業(yè)之星路演
- 永州斑馬樂(lè)器廠薪酬方案優(yōu)化設(shè)計(jì)
- 太原飲食文化的國(guó)際傳播與旅游推動(dòng)
- 實(shí)驗(yàn)室生物安全整改措施
- 下肢深靜脈血栓形成介入治療護(hù)理實(shí)踐指南(2025版)解讀課件
- 2025年湖南金葉煙草薄片有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論