C++中的类成员函数指针

来源:互联网 发布:dota类 知乎 编辑:程序博客网 时间:2024/06/05 00:50

// 类成员函数指针定义://   函数返回类型 (类名称::*变量名)(参数表);// 类成员函数指针赋值://  函数指针变量 = &类名::函数名// 类成员函数指针的使用://  类实例.*函数指针变量(参数表)//  类实例指针->*函数指针变量(参数表)class CTest{public:// 声明三个成员函数int func1(int a) { return a; };int func2(int b) { return b + b; };int func3(int c) { return c / 2; };};void func(){CTest ctest;  // 声明一个类变量// 定义类成员函数指针 pFunint (CTest::*pFun)(int a);pFun = &CTest::func1;      // 给函数指针赋值INT N = (ctest.*pFun)(12); // 调用,调用的时候,前面的括号是必须的pFun = &CTest::func2;      // 给函数指针赋值INT M = (ctest.*pFun)(12); // 调用,调用的时候,前面的括号是必须的pFun = &CTest::func3;      // 给函数指针赋值INT K = (ctest.*pFun)(12); // 调用,调用的时候,前面的括号是必须的// N、M、K 分别为12、24、6// 定义一个类成员函数指针数组int (CTest::*pFuns[3])(int a);// 为数组赋值pFuns[0] = &CTest::func1;pFuns[1] = &CTest::func2;pFuns[2] = &CTest::func3;// 调用,调用的时候,前面的括号是必须的N = (ctest.*pFuns[0])(12);M = (ctest.*pFuns[1])(12);K = (ctest.*pFuns[2])(12);// N、M、K 分别为12、24、6};

I like 指针,^哈哈!


唉!好怀念 Delphi 中的事件函数


0 0
原创粉丝点击