
22 Sep
2007
22 Sep
'07
5:38 a.m.
Hello, Supposing having struct A{ int a1; double a2; int a3[3]; }; struct B{ int b1; double b2; int b3[3]; }; A and B are two structure with same strucutural type but different name, (and different name for fields...) The question is: C++ grants that A a; a.a2=8.8; assert(reinterpret_cast<B*>(&a)->b2==8.8); If the response is yes, it is even true for classes with inheritance? that is A1,B1,C1 have same struttural type of A2,B2,C2 and class A1 :public B1, class B1: public C1 and class A2 :public B2, class B2: public C2 can i safaly reinterpreter cast from A1 to A2 and acceding public fields (of A1,B1,C1) trought the field names of A2? Thanks in advance for your help.