Re: overload operator < 來排序
C++ 其實很有彈性的, 就算不用 function pointer 還是可以辦到很多事.
限制自己用 function pointer (還是 member function pointer) 根本是作繭自縛
※ 引述《sorryChen (陳揚和)》之銘言:
: 感謝回答 但是因為要切換的function很多 (各種不同的hash functions)
這很明顯地是種 strategy pattern, 去翻翻 design pattern 吧
: 所以必須有function pointer. 沒辦法一個function寫一個 或inherit 一個 class..
為什麼不行? C++ 明明就有 multi-inheritance. 至少弄個純 interface 絕對是可以的
: 而且那些function 會用到不同class 的data, 雖然參數回傳type相同..
: 所以希望有generic object type的function pointer..
: EX: 假設我有船和車兩種class 他們都有個function叫 int speed();
: 回傳速度, 而且計算速度會用到object內部的特有的member variable value.
弄個 interface, 然後個自 override speed() 不就好了嗎, 為什麼要去找石頭砸自己腳 @@
: 我想在外部設有個function pointer指到這兩種class中的一種instance
: 然後回傳速度.. 可能嗎..
: (感謝大家的指導)
再不然請用 template 吧, Modern C++ Design 有一堆神奇的 template pattern, 應該不難找到你要的東西
--
O Freunde, nicht diese Tone!
Sondern la t uns angenehmere anstimmen
und freudenvollere !
---------- Ode >>An die Freude<<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.54.20.28
※ 編輯: march20 來自: 128.54.20.28 (04/03 06:09)
討論串 (同標題文章)