成员函数指针数组,处理函数中调用:
来源:互联网 发布:在线英语培训软件 编辑:程序博客网 时间:2024/06/09 14:35
成员函数指针数组
函数指针数组用于同种数据结构,多种处理类型的应用中,主要好处是避免了判断switch的使用。
普通函数作为函数指针数组元素可简单赋值,而类的成员函数作为函数指针数组的元素,要特别注意声明的时候(如typedef)要指定类作用域,否则编译会出错。
例子:
/////////////////////// a.h
class A
{
public:
A();
void dispatchMsg(uint32 cmd,void* content, uint32 contentLength);
private:
Bool onMsg1(ibuffer &buffer);
Bool onMsg2(ibuffer &inbuf);
Bool onMsg3(ibuffer &inbuf);
private:
typedef Bool (A::*CMDFUN)(ibuffer &buffer); // 注意指定类作用域A::
CMDFUN m_cmdFun[FUN_MAX];
}
/////////////////////// a.cpp
构造函数里赋值:
A::A()
{
m_cmdFun[PET_PASSIVEMODE] = onPetPassiveMode;
m_cmdFun[PET_SETSKILLAUTOCAST] = onPetSkillSlotCheck;
m_cmdFun[PET_MOVESKILL] = onPetMoveSkill;
}
处理函数中调用:
void A:dispatchMsg(uint32 cmd,void* content, uint32 contentLength)
{
// ...
inbuf = getBuff(content,contentLength);
(this->*m_cmdFun[cmd])(inbuf);
}
- 成员函数指针数组,处理函数中调用:
- 成员函数指针数组
- 成员函数指针数组
- 成员函数指针数组
- 空指针调用成员函数
- 空指针调用成员函数
- 类成员函数指针数组
- c++成员函数指针数组
- 函数指针调用类的成员函数
- 函数指针调用类的成员函数
- C++中使用空对象指针调用成员函数
- 指针数组,指针指向const成员函数
- 如何在类中使用成员函数指针数组
- C++ 中成员函数指针?
- 空指针为什么能调用成员函数?
- 空指针的成员函数调用
- 空指针的成员函数调用
- 成员函数指针作为形参调用
- java中excel的属性设置
- CO01/CO02/CO40保存增强点
- 黑马程序员_交通灯改造版!
- 飞鸽传书2013
- 两个包含group by 语句的select 语句的连接查询
- 成员函数指针数组,处理函数中调用:
- 程序员必备的七大面向对象设计原则(三)
- 标准成本估算物料取价策略增强
- thinkphp引入FCK编辑器
- JS禁用浏览器退格键
- 关于系统管理工具杂谈 tmux IPython
- 产品需求分析:用户的“奶酪”不要碰
- SAPMF02K 用户出口: 供应商主数据
- liferay中四种创建主键的方法