delete釋放父類指針指向的子類對象的時(shí)候會成功嗎
上一節(jié)課講得Circle類里面的構(gòu)造函數(shù)沒有幫他new一個(gè)內(nèi)存,那么后面Shape *shape1 = new Circle(4.0),用父類指針指向一個(gè)子類對象之后的delete shape1會釋放掉父類所指向的子類對象嗎?
上一節(jié)課講得Circle類里面的構(gòu)造函數(shù)沒有幫他new一個(gè)內(nèi)存,那么后面Shape *shape1 = new Circle(4.0),用父類指針指向一個(gè)子類對象之后的delete shape1會釋放掉父類所指向的子類對象嗎?
2017-07-28
舉報(bào)
2018-07-03
如果加了 virtual 父類就會通過虛函數(shù)表 和虛函數(shù)表指針 找到子類的析構(gòu)函數(shù) 從而釋放掉子類對象
2017-09-14
Shape 類的析構(gòu)函數(shù)前 如果沒加virtual,則只會執(zhí)行父類的 析構(gòu)函數(shù),如果加了 virtual,則先執(zhí)行子類的析構(gòu)函數(shù),在執(zhí)行父類的析構(gòu)函數(shù)
2017-07-28
虛析構(gòu)函數(shù)就這樣的功能啊,虛析構(gòu)函數(shù)就是為了實(shí)現(xiàn)可以用父類對象指針來銷毀子類對象(我的理解)