Re: [問題] 請問Overriding 是否只能override父 Cl …
我試了一下 好像不行(雖然我的用法有點怪怪的 我用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
06/17 12:33, 1F
推
06/17 14:23, , 2F
06/17 14:23, 2F
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章