#include <iostream>
class A {
public:
int a;
A(int _a) : a(_a) {}
};
class B {
public:
int b;
B(int _b) : b(_b) {}
};
int main() {
void* p[2];
A* a = new A(10);
B* b = new B(5);
p[0] = a;
p[1] = b;
std::cout << ((A*)(p[0]))->a << std::endl;
std::cout << ((B*)(p[1]))->b << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQSB7CiAgICBwdWJsaWM6CiAgICAJaW50IGE7CgkJQShpbnQgX2EpIDogYShfYSkge30KfTsKCmNsYXNzIEIgewoJcHVibGljOgoJCWludCBiOwoJCUIoaW50IF9iKSA6IGIoX2IpIHt9Cn07CgppbnQgbWFpbigpIHsKCXZvaWQqIHBbMl07CglBKiBhID0gbmV3IEEoMTApOwoJQiogYiA9IG5ldyBCKDUpOwoJcFswXSA9IGE7CglwWzFdID0gYjsKCXN0ZDo6Y291dCA8PCAoKEEqKShwWzBdKSktPmEgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8ICgoQiopKHBbMV0pKS0+YiA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==