課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之多態(tài)篇
如果判斷已經(jīng)是Bird的指針了,為什么還要將obj轉(zhuǎn)換一次,轉(zhuǎn)換成Bird,再繼續(xù)使用呢?
2018-08-07
源自:C++遠(yuǎn)征之多態(tài)篇 4-2
正在回答
這么說吧,之所以進(jìn)行這個(gè)轉(zhuǎn)換是因?yàn)槭褂酶割怓lyable指針通過虛函數(shù)實(shí)現(xiàn)機(jī)制我們可以動(dòng)態(tài)的是實(shí)現(xiàn)同名的虛函數(shù),但是對于子類Bird中的非虛函數(shù)(覓食函數(shù)),要想調(diào)用則必須是Bird,所以要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
夢游病者
慕粉4325388 回復(fù) 夢游病者
漂漂杰 提問者
那直接再用Bird類定義一個(gè)新的變量多省事,使用dynamic_cast是不是有點(diǎn)多此一舉??
六個(gè)蒸蛋
舉報(bào)
本教程將帶領(lǐng)大家體會(huì)面向?qū)ο笕筇匦灾械亩鄳B(tài)特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-08-07
這么說吧,之所以進(jìn)行這個(gè)轉(zhuǎn)換是因?yàn)槭褂酶割怓lyable指針通過虛函數(shù)實(shí)現(xiàn)機(jī)制我們可以動(dòng)態(tài)的是實(shí)現(xiàn)同名的虛函數(shù),但是對于子類Bird中的非虛函數(shù)(覓食函數(shù)),要想調(diào)用則必須是Bird,所以要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
2018-12-18
那直接再用Bird類定義一個(gè)新的變量多省事,使用dynamic_cast是不是有點(diǎn)多此一舉??