課程
/后端開發(fā)
/C++
/C++遠征之多態(tài)篇
如果說抽象類無法實例化對象,那父類是抽象類該怎樣實現(xiàn)多態(tài)呢?
2017-02-21
源自:C++遠征之多態(tài)篇 3-1
正在回答
可以的,你父類即使是text*pa=new text,也是不可以的(text是基類),但是你用父類的指針指向一個實例化的地址是可以的
抽象類無法實例化對象,僅僅是指不能直接實例化一個抽象類對象;但是使用父類指針指向子類這一行為實際上是實例化了一個子類對象,而子類對象并不是抽象類對象。就比如一個抽象類CanEat,它有一個Human這一子類繼承。我們可以使用CanEat *p=new Human這一方式實例化一個Human對象,但不能使用CanEat *p=new CanEat這一方法。
舉報
本教程將帶領大家體會面向對象三大特性中的多態(tài)特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2018-01-23
可以的,你父類即使是text*pa=new text,也是不可以的(text是基類),但是你用父類的指針指向一個實例化的地址是可以的
2017-02-21
抽象類無法實例化對象,僅僅是指不能直接實例化一個抽象類對象;但是使用父類指針指向子類這一行為實際上是實例化了一個子類對象,而子類對象并不是抽象類對象。就比如一個抽象類CanEat,它有一個Human這一子類繼承。我們可以使用CanEat *p=new Human這一方式實例化一個Human對象,但不能使用CanEat *p=new CanEat這一方法。