1.类成员函数指针的定义
如果有一个类Class,内部有一个成员函数void func();
则可以定义指向这个类成员函数的指针:void (Class::*ptr)();
这个ptr就是我们定义的指向类成员函数的指针,当然这样定义形式很麻烦,所以可以定义一个指针类型
typedef void (Class::*CLSMEBPTR)();
然后用这个新定义的类型定义我们的指针CLSMEBPTR ptr;这个ptr就和前面的等同。
2.类成员函数指针的使用
需要用类对象/指针来调用类成员函数指针。方式如下:
Class obj1;
(obj.*ptr)();
Class * p1;
(p1->*ptr)();
利用类成员函数指针和指针数组,可以很方便的写出这种类成员函数调用形式
C++代码: |