作者march20 ()
看板Programming
标题Re: overload operator < 来排序
时间Fri Apr 3 06:07:32 2009
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)