第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

判斷完是哪一類之后直接 調用land 和 foraging不可以嗎?

if(typeid(*obj)==typeid(Bird))

{obj->foraging;

}

結果不一樣嗎?為什么一定要轉換指針類型呢

正在回答

2 回答

obj 是指向基類的指針,不能直接操作子類的方法。

dynamic_cast主要用于在多態(tài)的時候,它允許在運行時刻進行類型轉換,從而使程序能夠在一個類層次結構中安全地轉換類型,把基類指針(引用)轉換為派生類指針(引用)。

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

present21 提問者

非常感謝!
2016-05-05 回復 有任何疑惑可以回復我~

基類指向子類的指針只可以調用基類自己擁有的成員,而覓食和搬運這兩個是子類特有的成員,父類指針無法直接調用。所以需要將父類指針轉化為子類(Bird)指針,這樣子才可以調用子類獨有的成員函數(shù)!



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

舉報

0/150
提交
取消
C++遠征之多態(tài)篇
  • 參與學習       66223    人
  • 解答問題       334    個

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

進入課程

判斷完是哪一類之后直接 調用land 和 foraging不可以嗎?

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

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號