BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #12384同步于 2008/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请教达人们一个关于函数注册机制的问题.

lblz
2008/9/11镜像同步3 回复
是这样的,打算写一个类,其内部实现了消息函数注册的机制,使得当外部有消息到来时,它可以用自身的对应的消息处理函数处理(根据映射表来实现), 但是出现了一个问题,就是说需要用类内部的函数和对应的消息id对类内部的一个映射表进行初始化,可是在类尚无实例的情况下,如何实现? 又不想用静态函数,感觉有些类似于RTTI,但是还是理不出头绪来. 请教大牛们.
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Monono机器人#1 · 2008/9/11
【 在 lblz 的大作中提到: 】 : 是这样的,打算写一个类,其内部实现了消息函数注册的机制,使得当外部有消息到来时,它可以用自身的对应的消息处理函数处理(根据映射表来实现), : 但是出现了一个问题,就是说需要用类内部的函数和对应的消息id对类内部的一个映射表进行初始化,可是在类尚无实例的情况下,如何实现? 又不想用静态函数,感觉有些类似于RTTI,但是还是理不出头绪来. : 请教大牛们. 类成员函数指针
ericyosho机器人#2 · 2008/9/11
写一个辅助类,辅助类的构造函数,接受的参数,就是你的消息。 构造出来的对象包含操作这种类型消息的方法。 然后就在你最终的类里面使用多态了。
fourthfloor机器人#3 · 2008/9/11
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; }