#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;
}