Re: [問題] 請問Overriding 是否只能override父 Cl …

看板Programming作者 (陳揚和)時間18年前 (2007/06/17 11:16), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/5 (看更多)
我試了一下 好像不行(雖然我的用法有點怪怪的 我用Visual C++.net) Class C 繼承 Class B 繼承 Class A Class A定義了function f1() f2() f1()中會Call f2() 我現在在Class C中define 同名同參數的f2() 假設叫他f2'() 希望 在call C.A1()時 會自動Call f2'(); 而不是f2(); 這樣有可能嗎 如果可以其實有點小危險 就是子class不小心Override 爺爺輩以上的同名程式... (可能不知道爺爺輩以上有什麼method..) 真是非常感謝版友們的回答阿 ..C++有Virtual..所以確定要下Virtual 才是真正Overrideing 而不是hiding.. 但是對於爺爺輩以上 好像還是不行..(我試的結果.. 應該友其他方法才是 ※ 引述《horngsh (要公理要正義)》之銘言: : ※ 引述《sorryChen (陳揚和)》之銘言: : : 但爺爺層的好像不行 C++當中是不是沒有Override的關鍵字阿 : : 所以我沒辦法讓 子層的method把 "爺爺"層的overrides.. : : 這樣的desgin不知道是否合理就是了 : 不好意思, 你問的是C++, 我以為是C#, 在C++中要覆寫父層以上的方法 : 只要在衍生類別中用相同的簽名加上方法定義即可 : (不用再加virtual, 除非你以後還要讓再衍生的類別再覆寫) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.87.33

06/17 12:33, , 1F
沒有使用 pointer or reference 型別?
06/17 12:33, 1F

06/17 14:23, , 2F
有空時我用C++.Net來小測一下.
06/17 14:23, 2F
文章代碼(AID): #16TAUd4l (Programming)
討論串 (同標題文章)
文章代碼(AID): #16TAUd4l (Programming)