第12章 多態(tài)性與虛函數(shù)ppt課件.ppt

第12章 多態(tài)性與虛函數(shù)ppt課件.ppt

ID:59197809

大?。?56.50 KB

頁(yè)數(shù):31頁(yè)

時(shí)間:2020-09-26

第12章 多態(tài)性與虛函數(shù)ppt課件.ppt_第1頁(yè)
第12章 多態(tài)性與虛函數(shù)ppt課件.ppt_第2頁(yè)
第12章 多態(tài)性與虛函數(shù)ppt課件.ppt_第3頁(yè)
第12章 多態(tài)性與虛函數(shù)ppt課件.ppt_第4頁(yè)
第12章 多態(tài)性與虛函數(shù)ppt課件.ppt_第5頁(yè)
資源描述:

《第12章 多態(tài)性與虛函數(shù)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第十二章多態(tài)性和虛函數(shù)12.1靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編12.2虛函數(shù)12.3純虛函數(shù)和抽象類12.4抽象類實(shí)例問(wèn)題引入1-多態(tài)性一個(gè)名稱(函數(shù)名)可以有多種語(yǔ)義。用戶只需發(fā)送同樣的消息,而不同類型的對(duì)象接收導(dǎo)致不同的行為。加法intadd(inta,intb)complexadd(complexa,complexb)Intadd(inta,intb,intc)add例1-重載:計(jì)算面積areaarea()shapearea()squrearea()circle例2:能否用相同調(diào)用方式來(lái)調(diào)用類族中屬于不同類功能類似的同名函數(shù)?問(wèn)題引入2——繼承中的賦值兼容規(guī)則派生類對(duì)象可以賦值給基類對(duì)象

2、派生類對(duì)象可以初始化基類的引用派生類對(duì)象地址可賦值給基類指針好處:對(duì)于基類及公有派生類的對(duì)象,可以使用相同的函數(shù)統(tǒng)一進(jìn)行處理(因?yàn)楫?dāng)函數(shù)的形參為基類對(duì)象時(shí),實(shí)參可以是派生類的對(duì)象)classB{}classD:publicB{ }Bb1,*pb1;Dd1;b1=d1;B&bb=d1;pb1=&d1;例12.1計(jì)算并顯示大學(xué)生和研究生的學(xué)費(fèi)fee1fee2fee3fee4大學(xué)生學(xué)費(fèi)4800住宿1100書(shū)報(bào)費(fèi)400其他200研究生住宿1100書(shū)報(bào)費(fèi)400其他200unstudent#no#name#fee1#fee2#fee3#fee4+calfee()+disp()graduate

3、+calfee()+disp()統(tǒng)計(jì)并顯示f()calfee()disp()#includeclassunstudent{protected:intno;charname[10];intfee1,fee2,fee3,fee4,fee;public:voidcalfee(){cout<<"學(xué)號(hào):";cin>>no;cout<<"姓名:";cin>>name;fee1=4800;fee2=1100;fee3=400;fee4=200;fee=fee1+fee2+fee3+fee4;}voiddisp(){cout<<"學(xué)費(fèi):"<

4、<<"住宿費(fèi):"<>no;cout<<"姓名:";cin>>name;fee1=1100;fee2=400;fee3=200;fee=fee1+fee2+fee3;}voiddisp(){cout<<"住宿費(fèi):"<

5、1<

6、針(引用)指向一個(gè)派生類對(duì)象,那么經(jīng)由此指針(引用),你只能調(diào)用基類定義的函數(shù)。---why?(靜態(tài)聯(lián)編)大學(xué)生收費(fèi):學(xué)號(hào):1姓名:王國(guó)華學(xué)費(fèi):4800住宿費(fèi):1100書(shū)報(bào)費(fèi):400其他:200總費(fèi)用:6500研究生收費(fèi):學(xué)號(hào):120姓名:張文華學(xué)費(fèi):4800住宿費(fèi):1100書(shū)報(bào)費(fèi):400其他:200總費(fèi)用:650012.1靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編聯(lián)編(綁定)(binding)把函數(shù)調(diào)用與適當(dāng)?shù)暮瘮?shù)代碼相對(duì)應(yīng)的動(dòng)作(一個(gè)標(biāo)志符與一個(gè)內(nèi)存地址聯(lián)系在一起的過(guò)程)稱為聯(lián)編聯(lián)編分為靜態(tài)聯(lián)編在編譯階段決定執(zhí)行哪個(gè)同名的被調(diào)用函數(shù)(重載)動(dòng)態(tài)聯(lián)編。在編譯階段不能決定執(zhí)行哪個(gè)同名的被調(diào)用函數(shù),只在執(zhí)

7、行階段才能依據(jù)要處理的對(duì)象類型來(lái)決定執(zhí)行哪個(gè)類的成員函數(shù)多態(tài)性也分為靜態(tài)和動(dòng)態(tài)兩種:靜態(tài)多態(tài)性——函數(shù)重載——靜態(tài)聯(lián)編一個(gè)類中的同名函數(shù)同名不同型,可根據(jù)參數(shù)類型及個(gè)數(shù)區(qū)別語(yǔ)義,通過(guò)實(shí)際的參數(shù)由編譯系統(tǒng)決定調(diào)用哪個(gè)函數(shù),如在一個(gè)類中參數(shù)不同的構(gòu)造函數(shù),運(yùn)算符重載函數(shù)等動(dòng)態(tài)多態(tài)性——虛函數(shù)——?jiǎng)討B(tài)聯(lián)編類層次中的不同類中的同名函數(shù),同名同型(參數(shù)一樣),因而要根據(jù)指針指向的對(duì)象所在類來(lái)區(qū)別語(yǔ)義,來(lái)決定調(diào)用哪個(gè)類的成員函數(shù)。(采用動(dòng)態(tài)聯(lián)編)繼承討論的是類與類的層次關(guān)系多態(tài)則是考慮在不同

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。