#include <iostream>
using namespace std;
class A
{
public:
int a;
A(){a=10;}
int showA(int c);
using namespace std;
class A
{
public:
int a;
A(){a=10;}
int showA(int c);
};
inline int A::showA(int c){
cout<<"showA......"<<endl;
cout<<c<<endl;
cout<<a<<endl;
return 0;
}
int main()
{
A x;
int A:: * p=&A::a;
cout<<x.*p<<endl;
A *pf=&x;
cout<<pf->*p<<endl;
int (A:: *pfun)(int)=A::showA;
//函数调用1
(x.*pfun)(0);
A * pp=&x;
//函数调用2
(pp->*pfun)(13);
return 0;
}
inline int A::showA(int c){
cout<<"showA......"<<endl;
cout<<c<<endl;
cout<<a<<endl;
return 0;
}
int main()
{
A x;
int A:: * p=&A::a;
cout<<x.*p<<endl;
A *pf=&x;
cout<<pf->*p<<endl;
int (A:: *pfun)(int)=A::showA;
//函数调用1
(x.*pfun)(0);
A * pp=&x;
//函数调用2
(pp->*pfun)(13);
return 0;
}
转载于:https://blog.51cto.com/jornathan/524282