自從寫了<<Dispatcher(分派器) on run-time的思考>>之后,便決心要來一次在C++中模擬雙分派。
今天真是好運氣,忽然讓我想到,這個問題無非就是:解決“類類型->操作器的映射”和“多個對象實例->觸發操作器”,顯然需要提供一些額外的“類型信息”到某個集中地。
1 有個  xxx::register<Type0, Type1>(操作器), 它注冊什么樣的類型組合對應哪個操作器
2 有個 xxx::go(objA, objB), 完成實例觸發操作器
3 這個 xxx 類,就是“類型信息”的集中地

所以, 有關概念的命名如下:
xxx---DoubleDispatcher
操作器---Functor
Functor應該做為DoubleDispatcher的類型參數, DoubleDispatcher有一簇Functor

這里是我的代碼: http://www.shnenglu.com/Files/CornerZhang/DblDispatcher.zip (這份源代碼有錯誤)
經過修復的代碼:http://www.shnenglu.com/Files/CornerZhang/DoubleDispatcher.zip

還不完善,暫時滿足了工作上的需要,所以現在支持C++中的函數指針,而且還沒有考慮類型組合對稱問題. 

還有許多不足之處,望感興趣的朋友踴躍指出 :)