函数指针 成员函数指针
2015-12-05 18:41
176 查看
class CMyClass
{
public:
CMyClass()
{
mm.insert(make_pair(1,&CMyClass::func1));
func2();
}
typedef void (CMyClass::*func)();//mark
protected:
void func1();
void func2();
protected:
map<int, func> mm;
};
void CMyClass::func1()
{
cout<<"func1"<<endl;
}
void CMyClass::func2()
{
// 成员函数的指针一定要用某个对象来调用
// 不用指针调用的话,编译报错 类似error C2064: 项不会计算为接受 0 个参数的函数
map<int, func>::iterator iter = mm.find(1);
(this->*(*iter).second)();
(this->*mm[1])();
}
{
public:
CMyClass()
{
mm.insert(make_pair(1,&CMyClass::func1));
func2();
}
typedef void (CMyClass::*func)();//mark
protected:
void func1();
void func2();
protected:
map<int, func> mm;
};
void CMyClass::func1()
{
cout<<"func1"<<endl;
}
void CMyClass::func2()
{
// 成员函数的指针一定要用某个对象来调用
// 不用指针调用的话,编译报错 类似error C2064: 项不会计算为接受 0 个参数的函数
map<int, func>::iterator iter = mm.find(1);
(this->*(*iter).second)();
(this->*mm[1])();
}
相关文章推荐
- UVA 11983 Weird Advertisement
- [Java 基础] 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- 国内NTP服务器整理
- 2015校赛A
- eclipse中删除所有的空行
- C++ STL基本容器比较
- 深入浅出java虚拟机系列:(一)jvm 内存区域
- Android中获取屏幕信息DisplayMetrics的用法
- hihoCoder: Individual Income Tax
- 算法常用术语中英对照
- 人人都能开发物联网(一.目标)
- 为IIS Express添加MIME映射
- 【五】ODB - C++ 表单列函数count、min、max(V1.0)
- iOS-UITextField-通知
- 第15周实践项目-哈希表
- Android之动画精讲一:从setTranslationX谈属性动画和view动画的区别
- win10开启wifi热点
- 关于MySQL数据导出导入
- 蓝桥杯 圆的面积(实数输出)
- CentOS 7 编译安装PHP7