#include <iostream>
#include <iomanip>
using namespace std;
struct A { int a; };
struct B { int b; };
struct C { int c; };
struct ABC
: public A
, public B
, public C
{
int abc;
};
int main()
{
ABC* abc = new ABC;
abc->a = 1;
abc->b = 2;
abc->c = 3;
abc->abc = 4;
int* data = reinterpret_cast<int*>(abc);
for(int i=0; i<sizeof(ABC)/sizeof(int); i++)
{
cout << "0x" << hex << setfill('0') << setw(2*sizeof(int)) << data[i] << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgQSB7IGludCBhOyB9OwpzdHJ1Y3QgQiB7IGludCBiOyB9OwpzdHJ1Y3QgQyB7IGludCBjOyB9OwoKc3RydWN0IEFCQwogICAgOiBwdWJsaWMgQQogICAgLCBwdWJsaWMgQgogICAgLCBwdWJsaWMgQwp7CiAgICBpbnQgYWJjOwp9OwoKaW50IG1haW4oKQp7CglBQkMqIGFiYyA9IG5ldyBBQkM7CglhYmMtPmEgPSAxOwoJYWJjLT5iID0gMjsKCWFiYy0+YyA9IDM7CglhYmMtPmFiYyA9IDQ7CglpbnQqIGRhdGEgPSByZWludGVycHJldF9jYXN0PGludCo+KGFiYyk7Cglmb3IoaW50IGk9MDsgaTxzaXplb2YoQUJDKS9zaXplb2YoaW50KTsgaSsrKQoJewoJCWNvdXQgPDwgIjB4IiA8PCBoZXggPDwgc2V0ZmlsbCgnMCcpIDw8IHNldHcoMipzaXplb2YoaW50KSkgPDwgZGF0YVtpXSA8PCBlbmRsOwoJfQp9