亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

obj轉換成Bird是不是有點多余?

如果判斷已經是Bird的指針了,為什么還要將obj轉換一次,轉換成Bird,再繼續使用呢?

正在回答

2 回答

這么說吧,之所以進行這個轉換是因為使用父類Flyable指針通過虛函數實現機制我們可以動態的是實現同名的虛函數,但是對于子類Bird中的非虛函數(覓食函數),要想調用則必須是Bird,所以要進行強制類型轉換。

4 回復 有任何疑惑可以回復我~
#1

夢游病者

Flyable *obj強制轉換成Bird *obj是吧?
2018-08-09 回復 有任何疑惑可以回復我~
#2

慕粉4325388 回復 夢游病者

嗯嗯,是的
2018-08-10 回復 有任何疑惑可以回復我~
#3

漂漂杰 提問者

嗯,之前想錯了,謝謝
2018-08-16 回復 有任何疑惑可以回復我~

那直接再用Bird類定義一個新的變量多省事,使用dynamic_cast是不是有點多此一舉??

0 回復 有任何疑惑可以回復我~
#1

六個蒸蛋

你是想 Bird* bird = obj 嗎?這不行,因為父類指針不能給子類指針賦值。
2019-11-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之多態篇
  • 參與學習       66224    人
  • 解答問題       334    個

本教程將帶領大家體會面向對象三大特性中的多態特性

進入課程

obj轉換成Bird是不是有點多余?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號