全部博文(346)
分类: C/C++
2010-03-27 13:40:57


class FuncCaller
{
public:
virtual void func_call(void* obj_ptr, void* param)=0;
};
template <typename T>
class FuncItem : public FuncCaller
{
private:
typedef void (T::*HandlerPtr)(void* param);
HandlerPtr handler;
public:
void func_call(void* obj_ptr, void* param)
{
if( !obj_ptr )
return ;
(((T*)obj_ptr)->*handler)(param);
}
};嗯,还不错,基本的形式已经有了,不想写太长,待下一篇,再来看看具体事件处理结构的设计