Re: C++ overriding/overriding的問題

看板Programming作者 (IWH68S0XZ8M89)時間18年前 (2008/02/13 22:32), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串7/8 (看更多)
※ 引述《legnaleurc (CA)》之銘言: : ※ 引述《ya790206 (殘雲奪月)》之銘言: : 恕刪 : : 結果是4 8 : : 為何是八之前有人問過,不過我不懂 : : DevC++的結果 : 我認為它的sizeof的計算方式很有趣 : 我把B改成虛擬繼承A,印出來就變成4 12 : 然後如果A的x是static int : 印出來會變成1 1 : 不知道是怎麼算的 我沒搞錯的話 虛擬繼承會多出virtual table的空間 所以B多出了virtual table的4 byte 至於那個8是因為alignment的問題 請往前查 如果A的x是static的話 A就沒有member variable了 所以A變成一個"空"物件 好像最近C_and_CPP版還是這裡有篇文有說這時似乎是規定它的sizeof是1的樣子(不確定) B則是比(空的)A多一個char 所以就是那個char的1 -- 実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」 亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」 実琴:「難道你沒有男人的尊嚴了嗎?!」 亨:(斷然道)「沒有。在節衣縮食生活吃緊學生面前,沒有那種東西。」 --プリンセス・プリンセス 第二話 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.44.21

02/13 23:56, , 1F
我記得inside C++ object裡有這個議題
02/13 23:56, 1F

02/13 23:57, , 2F
可是詳情我沒記起來 有興趣可以找書看
02/13 23:57, 2F
文章代碼(AID): #17il-2ai (Programming)
討論串 (同標題文章)
文章代碼(AID): #17il-2ai (Programming)