關(guān)于dynamic_cast
Bird *bird=dynamic_cast<Bird *>(obj);這一句不太懂。
obj是(Flyable *)類型的指針,為什么這里不用Bird *bird=(Bird *)obj來實(shí)現(xiàn)呢?其實(shí)我自己試了下,這樣也是可以達(dá)到效果的,但是跟使用dynamic_cast有什么區(qū)別呢
謝謝回答
Bird *bird=dynamic_cast<Bird *>(obj);這一句不太懂。
obj是(Flyable *)類型的指針,為什么這里不用Bird *bird=(Bird *)obj來實(shí)現(xiàn)呢?其實(shí)我自己試了下,這樣也是可以達(dá)到效果的,但是跟使用dynamic_cast有什么區(qū)別呢
謝謝回答
2016-03-23
舉報(bào)
2016-03-23
dynamic_cast會(huì)根據(jù)基類指針是否真正指向繼承類指針來做相應(yīng)處理。?
對(duì)指針進(jìn)行dynamic_cast,失敗返回null,成功返回正常cast后的對(duì)象指針;?
對(duì)引用進(jìn)行dynamic_cast,失敗拋出一個(gè)異常,成功返回正常cast后的對(duì)象引用。?
2017-12-22
建議參考這個(gè)博文:
http://blog.csdn.net/u012999985/article/details/69056556