




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】C++繼承(二)
多態(tài)是一種泛型編程的思想,虛函數(shù)是其實(shí)現(xiàn)的手段(利用父類的指針指向子類的空間)。好了,開始正文->來一段基本代碼:#include
<iostream>
using
namespace
std;
class
CPeople
{
public:
virtual
void
goHome()
{
cout
<<
"
Go
Home"
<<
endl;
}
};
class
Aonaufly
:
public
CPeople
{
void
goHome()
{
cout
<<
"
Go
Wuhan"
<<
endl;
}
};
int
main()
{
CPeople
*
people_1
=
new
Aonaufly;
people_1->goHome();
delete
people_1;
return
0;
}運(yùn)行結(jié)果:解析:①虛函數(shù)的關(guān)鍵字是:virtual(定義格式:virtualvoidgoHome())②子類中也有一個(gè)goHome函數(shù),因?yàn)樵诟割愔術(shù)oHome函數(shù)是個(gè)虛函數(shù)。所以子類中的goHome與父類中的goHome形成了重寫。(虛函數(shù)形成重寫,普通函數(shù)形成覆蓋)③CPeople*people_1=newAonaufly;即用利用父類的指針指向子類的空間。(不能申明為棧,因?yàn)闂^(qū)隊(duì)形沒有指針概念)這種形式在C#/Java當(dāng)中也很常見④實(shí)際上在子類中的virtual可以省略不寫,編譯會(huì)自動(dòng)加上如果,在子類中不重寫虛函數(shù):#include
<iostream>
using
namespace
std;
class
CPeople
{
public:
virtual
void
goHome()
{
cout
<<
"
Go
Home"
<<
endl;
}
};
class
Aonaufly
:
public
CPeople
{
};
int
main()
{
CPeople
*
people_1
=
new
Aonaufly;
people_1->goHome();
delete
people_1;
return
0;
}結(jié)果:解析:①因?yàn)樽宇悰]有重寫父類虛函數(shù)goHome,所以調(diào)用父類的goHome純虛函數(shù)->沒有實(shí)現(xiàn)的函數(shù)#include
<iostream>
using
namespace
std;
class
CPeople
{
public:
virtual
void
goHome()
=
0;
};
class
Aonaufly
:
public
CPeople
{
virtual
void
goHome()
{
cout
<<
"
Go
Wuhan"
<<
endl;
}
};
int
main()
{
CPeople
*
people_1
=
new
Aonaufly;
people_1->goHome();
delete
people_1;
return
0;
}結(jié)果:解析:①純虛函數(shù)virtualvoidgoHome()=0。一個(gè)父類中都是純虛函數(shù),這個(gè)類就是接口類
;如果這個(gè)父類不全是純函數(shù)那這個(gè)父類就是抽象類。②有純虛函數(shù)的類,不能被實(shí)例化。只能通過繼承,在子類中實(shí)現(xiàn)(必須在子類中重寫)重點(diǎn)補(bǔ)充:①重寫虛函數(shù),函數(shù)名稱/
函數(shù)參數(shù)列表/函數(shù)返回值類型必須是一樣(絕大部分情況)②特殊情況:#include
<iostream>
using
namespace
std;
class
CPeople
{
public:
virtual
CPeople&
goHome()
{
cout
<<
"
Go
Home"
<<
endl;
return
(*this);
}
};
class
Aonaufly
:
public
CPeople
{
virtual
Aonaufly&
goHome()
{
cout
<<
"
Go
Wuhan"
<<
endl;
return
(*this);
}
};
int
main()
{
CPeople
*
people_1
=
new
Aonaufly;
people_1->goHome();
delete
people_1;
return
0;
}結(jié)果:這是一個(gè)特殊的情況返回值不一樣也會(huì)構(gòu)成重寫,這個(gè)情況叫協(xié)變。虛析構(gòu)為了時(shí)子類,父類中的機(jī)構(gòu)函數(shù)都被調(diào)用,需要使用虛析構(gòu)(不然,只會(huì)調(diào)用父類的的)#include
<iostream>
using
namespace
std;
class
CPeople
{
public:
virtual
CPeople&
goHome()
{
cout
<<
"
Go
Home"
<<
endl;
return
(*this);
}
virtual
~CPeople()
{
cout
<<
"Cpeople"
<<
endl;
}
};
class
Aonaufly
:
public
CPeople
{
virtual
Aonaufly&
goHome()
{
cout
<<
"
Go
Wuhan"
<<
endl;
return
(*this);
}
~Aonaufly()
{
cout
<<
"Aonaufly"
<<
endl;
}
};
int
main()
{
CPeople
*
people_1
=
new
Aonaufly;
//people_1->goHome();
delete
people_1;
return
0;
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)語(yǔ)文一年級(jí)考試體系試題及答案
- 寵物主人常見的營(yíng)養(yǎng)誤區(qū)及試題及答案
- 計(jì)算機(jī)基礎(chǔ)考試重難點(diǎn)分析試題及答案
- 2024年食品質(zhì)檢員心理素質(zhì)要求試題及答案
- 美容師考試題目設(shè)計(jì)與解讀技巧試題及答案
- 食品流通過程中的證據(jù)采集考查試題及答案
- 重大動(dòng)物防控知識(shí)課件
- 實(shí)戰(zhàn)經(jīng)驗(yàn)的小學(xué)語(yǔ)文試題及答案
- 二手車評(píng)估師基礎(chǔ)知識(shí)考試試題及答案
- 二手車評(píng)估師應(yīng)試能力提升試題及答案
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 非暴力溝通 情緒篇
- 氫氧化鈣化學(xué)品安全技術(shù)說明書
- 人民醫(yī)院整形外科臨床技術(shù)操作規(guī)范2023版
- 2023-爾雅《星海求知:天文學(xué)的奧秘》課后章節(jié)答案
- LY/T 1955-2022林地保護(hù)利用規(guī)劃林地落界技術(shù)規(guī)程
- 專練11(30題)(網(wǎng)格作圖題)2022中考數(shù)學(xué)考點(diǎn)500題(吉林)解析版
- GB/T 1936.1-2009木材抗彎強(qiáng)度試驗(yàn)方法
- 馬克思主義唯物史觀課件
- 工商企業(yè)管理專業(yè)案例分析報(bào)告
- DB15T 2403-2021肉羊育種數(shù)據(jù)管理規(guī)范
評(píng)論
0/150
提交評(píng)論