返回信息流是这样的,打算写一个类,其内部实现了消息函数注册的机制,使得当外部有消息到来时,它可以用自身的对应的消息处理函数处理(根据映射表来实现),
但是出现了一个问题,就是说需要用类内部的函数和对应的消息id对类内部的一个映射表进行初始化,可是在类尚无实例的情况下,如何实现? 又不想用静态函数,感觉有些类似于RTTI,但是还是理不出头绪来.
请教大牛们.
这是一条镜像帖。来源:北邮人论坛 / cpp / #12384同步于 2008/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教达人们一个关于函数注册机制的问题.
lblz
2008/9/11镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 lblz 的大作中提到: 】
: 是这样的,打算写一个类,其内部实现了消息函数注册的机制,使得当外部有消息到来时,它可以用自身的对应的消息处理函数处理(根据映射表来实现),
: 但是出现了一个问题,就是说需要用类内部的函数和对应的消息id对类内部的一个映射表进行初始化,可是在类尚无实例的情况下,如何实现? 又不想用静态函数,感觉有些类似于RTTI,但是还是理不出头绪来.
: 请教大牛们.
类成员函数指针
bool YourClass::Dispatch(int MsgId, void* pParam)
{
bool bRst;
switch(MsgId)
{
case Msg1:
bRst = Func1(pParam);
break;
case Msg2:
bRst = Func2(pParam);
break;
default:
break;
}
return bRst;
}