void test24()
{
class A
{
public:
A() {m_a=1,m_b=2;}
~A(){};
void fun(){printf("%d %d\n",m_a,m_b);}
// private:
int m_a,m_b;
};
class B
{
public:
B(){m_c =3;}
~B()
{}
void fun(){printf("%d\n",m_c);}
// private:
int m_c;
};
A a;
B *pb = (B*)(&a);
cout<<"&a="<<&a<<endl;
cout<<"&(a.m_a)="<<&(a.m_a)<<endl;
printf("&A::m_a=%p\n",&A::m_a);
printf("&A::m_b=%p\n",&A::m_b);
printf("&B::m_c=%p\n",&B::m_c);
printf("&B::m_c=%08x\n",&B::m_c);
printf("&A::m_a=%08x\n",&A::m_a);
pb->fun();
}