Re: [問題] 多重繼承與多型

看板C_and_CPP作者 (做遊戲的心)時間14年前 (2012/02/15 18:10), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串3/3 (看更多)
http://codepad.org/0zYd1TyL 用一個類別當作純介面 這樣應該可以解決同時需要A、B兩個介面的問題 字太少會被水桶嗎@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.99.126

02/15 21:16, , 1F
很有可能,多加點想法吧
02/15 21:16, 1F

02/15 21:26, , 2F
這樣不會造成我之前的問題嗎?
02/15 21:26, 2F

02/15 22:06, , 3F
應該不會 至少我想不出來 就算有 也可以用virtual
02/15 22:06, 3F

02/15 22:07, , 4F
inheritance解決
02/15 22:07, 4F
我自打嘴巴~ 的確有可能造成類似Death Diamond的問題 若A與B擁有相同名字的function且以pC/pD以A*/B*型態進行該同名function 就會有問題 但我的想法是會造成A與B有同名function通常是因為A、B共同繼承自某個類別 既然現況是沒有共同繼承的類別 那顯然也可避免同名function的問題 那這個問題理論上也不容易發生 至於若真有必要有同名function 恕小弟才疏學淺 還想不到有什麼好方法 只能繞回composition的老路 但就又回到沒有B介面可用的老問題Orz 不知道這樣下不下得了台階XD ※ 編輯: NIKE74731 來自: 220.137.59.6 (02/15 23:04) ※ 編輯: NIKE74731 來自: 220.137.59.6 (02/15 23:06)

02/16 08:52, , 5F
講真的,這個需要超哥更好的範例,才知道如何下手
02/16 08:52, 5F

02/22 10:00, , 6F
你這個方法可行,但是最好加一個virtual 解構子
02/22 10:00, 6F

02/22 10:01, , 7F
文章代碼(AID): #1FEuIfxL (C_and_CPP)
文章代碼(AID): #1FEuIfxL (C_and_CPP)