最贊回答 / 面具VS口罩
我覺得不要想太多會應用就好:VIRTUAL只需要加在父類里邊(析構函數和同名成員函數)就好,析構函數前邊加是為了防止沒有釋放子類對象的內存導致內存泄露,同名成員函數前加是為了父類實例化的對象指針能夠指向子類數據成員。(這樣基本包含了所有的點了)
2017-04-05
最新回答 / 景曼_0001
不是虛函數那就不存在于虛函數表中,至于虛函數表是否存在,取決于還有沒有其余的虛函數(包括從父類繼承來的虛函數)。至于父類與子類的虛函數如何存放,好像是子類的新的虛函數會添加在父類的虛函數表后面作為子類的虛函數表,如果我么記錯的話,應該是這樣。
2017-03-22
最贊回答 / 氵幻世丨逐月丿
因為是在circle中實例化了coordinate的對象了,在circle的析構函數中執行了coordinate的析構操作,所以是先析構circle
2017-03-20
最贊回答 / 你猜猜0618
抽象類無法實例化對象,僅僅是指不能直接實例化一個抽象類對象;但是使用父類指針指向子類這一行為實際上是實例化了一個子類對象,而子類對象并不是抽象類對象。就比如一個抽象類CanEat,它有一個Human這一子類繼承。我們可以使用CanEat *p=new Human這一方式實例化一個Human對象,但不能使用CanEat *p=new CanEat這一方法。
2017-02-21