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

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

Animal animal = dog 難道不是dog包含的比animal多嗎?

Animal animal = dog 難道不是dog包含的比animal多嗎?那在animal指向dog的過程中,不是會損失一部分(重載也丟失了)?

反向的 Dog dog =animal ,并不會損失數(shù)據(jù),只是會有空值。那為什么又不可以?

嘗試進(jìn)行理解:
這里的animal只是一個指針,父類的指針可以指向子類的對象,反之不行。這樣對嗎?


正在回答

2 回答

編程語言是仿照現(xiàn)實情況做處理的。Animal animal = dog,anmimal指針可以指向子集中的一部分。這個沒問題。你說的dog包含的多,只是特征多。父類包含的是大家共有的信息,是抽象,肯定特征少。比如動物都會吃,不一定都會象狗一樣看門。animal指向dog的過程中,它的類型還是animal,不是dog。所以重載不會丟失。

Dog dog =animal,這句,如果不把a(bǔ)nimal強(qiáng)制轉(zhuǎn)型,這句話會報錯。因為兩者類型不同。而且,如果這個animal不是事先已經(jīng)指向子類的指針,在Dog dog =(Dog)animal;轉(zhuǎn)型過程中也是錯誤的,即使編譯不報錯,運(yùn)行也會報錯。也就是說:Animal animal = Animal();Dog dog =(Dog)animal;運(yùn)行時會報錯。只有Animal animal = Dog();Dog dog =(Dog)animal;才會不報錯。所以向下轉(zhuǎn)型本身意義不大,不是都能轉(zhuǎn)的。

父類的指針可以指向子類的對象。這個沒錯。因為Dog肯定是Animal。反過來。Animal一定是Dog嗎?肯定不是。

1 回復(fù) 有任何疑惑可以回復(fù)我~

謝謝大佬?spacer.gif?

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

Animal animal = dog 難道不是dog包含的比animal多嗎?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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