数据成员指针:
class Data{
public :
int a, b,c;
}
定义数据成员指针:
int (Data::*pmInt)=&Data::a;
这样子的话pmInt就可以指向某个Data对象中的所有int数据成员。
如:
pmInt=&Data::a;
定义一个Data
Data d;
d.*pmInt=48;//d.a=48;
函数成员指针:
class Widget{
void f(int){}
void g(int){}
};
定义一个函数成员指针:
void (Widget::*pfunc)(int)=&Widget::f;
使用的时候:
Widget w;
w.*pfunc(1);