作者littleshan (我要加入劍道社!)
看板C_and_CPP
標題Re: 繼承 與 Callback...
時間Tue Jun 21 16:29:00 2011
※ 引述《archon (三腳貓的把戲)》之銘言:
: CBase 所有衍生類別都必須要重新 implement Seriatim 函式,
: 讓我不禁在想,是不是有什麼神妙的方式可以讓所有子類別共用一個 Seriatim?
member function pointer 在進行呼叫時
也會有 virtual function invocation
所以 CDerv 只需實作出 CBase 中的 virtual function
然後在 Seriatim 中指定 CBase 的 function pointer
在 runtime 就會呼叫到 CDerv 所覆寫的版本
code 如下
http://codepad.org/liWupTtl
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.15.163
→ littleshan:不過說真的,member function pointer 很麻煩 06/21 16:29
→ littleshan:所以視你的需求,應該有更簡單易懂的做法 06/21 16:30
推 archon:大感謝... 我思考一下該怎麼把需求清楚地說明白 @@a 06/21 17:16