//不知道这样是不是你想要的结果#include using namespace std;class MY_CLASS{public: int x; int inc; voidadd(int &val) {val+=inc;}; void test(void);};void func_pfm(MY_CLASS * pt,void (MY_CLASS::*func) (int& in), int& val){ (pt->*func)(val);}void MY_CLASS::test(void){ func_pfm(this,&MY_CLASS::add, x);}int main ( int argc, char *argv[] ){ void func_pfm(void (MY_CLASS::*func) (int& in), int& val); MY_CLASS c1; c1.inc=5; c1.x=3; cout<<c1.x<<endl; c1.test(); cout<<c1.x<<endl; return 0;}
|