测试代码:
#include<iostream>
using namespace std;
class myclass{
int a;
int b;
public:
int c;
void set_ab(int x,int y,int z){a=x;b=y;c=z;}
int axbxc(){return a*b*c;}
void show(){cout<<"a is "<<a<<endl<<"b is "<<b<<endl<<"c is "<<c<<endl;}
};
int main()
{
int (myclass::*pp)();
myclass cl;
myclass *p;
int *p1;
pp=&myclass::axbxc;
p=&cl;
p1=&cl.c;
p->set_ab(1,2,3);
cl.show();
cout<<"aXBXC is "<<(cl.*pp)()<<endl;
*p1=4;
p->show();
cout<<"aXBXC is "<<(cl.*pp)()<<endl;
return 0;
}
测试结果:
a is 1
b is 2
c is 3
aXBXC is 6
a is 1
b is 2
c is 4
aXBXC is 8
Press any key to continue