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