64,849
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
#include <iostream>
#include <stdio.h>
using namespace std;
class MyClass
{
public:
MyClass()
{
a = b = c = 0;
}
int a;
int b;
int c;
void Display()
{
cout << a << endl << b << endl << c << endl;
}
};
int main()
{
int MyClass::* pMCa = &MyClass::a;
int MyClass::* pMCb = &MyClass::b;
int MyClass::* pMCc = &MyClass::c;
MyClass m_MC;
m_MC.a = 100;
m_MC.b = 101;
m_MC.c = 102;
cout << pMCa << endl << pMCb << endl <<pMCc << endl;
printf("%p\n",pMCa);
printf("%p\n",pMCb);
printf("%p\n",pMCc);
cout << m_MC.*pMCa << endl << m_MC.*pMCb << endl << m_MC.*pMCc << endl;
return 0;
}
/*运行结果:
1
1
1
00000000
00000004
00000008
1
2
3
press any key to continue
*/
cout << offsetof(MyClass, a) << endl
<< offsetof(MyClass, b) << endl
<< offsetof(MyClass, c) << endl;
cout << (*(int*)&pMCa) << endl << (*(int*)&pMCb) << endl <<(*(int*)&pMCc) << endl;
cout << (*(int*)&pMCa) << endl << (*(int*)&pMCb) << endl <<(*(int*)&pMCc) << endl;