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