#include <iostream>
#include <string.h>
using namespace std;
class First
{
    public:
	First():text("Hi im first!!!"){;}
	void virtual WhoIsWho(){cout<<"its must be first "<<text<<endl;}
	protected:
	char * text;
};
class Second:public First
{
	public:
	Second(){text = "Hi im second";}
	void WhoIsWho(){cout<<"its must be second "<<text<<endl;}
};

int main()
{
	Second A;
	First B, *C(&A);
	B=C[0];
	C->WhoIsWho();
	B.WhoIsWho();
	memcpy(&B,C,sizeof(B));
	B.WhoIsWho();
	return 0;
}