64,637
社区成员
发帖
与我相关
我的任务
分享
class B
{
public:
int x;
char y;
int a;
int get_a(){return a;}
};
class D:public B
{
public:
int b;
int get_b(){return b;}
};
int main()
{
B b;
D d;
int D::*pi2 = &B::a;//pi2 偏移量8
int B::*pi3 = &D::a;//pi3 偏移量8
//int B::*pi4 = &D::b; //impossible 12,in B there is no 12
b.*pi3;//偏移量在B内有效
d.*pi2;//两个偏移量在派生类内均有效
std::cout<<d.*pi3;//两个偏移量在派生类内均有效
b.*pi2;//?