#include <iostream>
#include <typeinfo>
using namespace std;
class Test
{
public:
virtual ~Test()
{
}
virtual void Out()
{
cout<<typeid(*this).name()<<endl;
}
Test()
{
cout<<typeid(*this).name()<<endl;
}
};
class FromTest : public Test
{
public:
FromTest(){}
};
void main()
{
// void * v=new Test;
// Test * t=static_cast<Test *>(v);
Test * t=(Test *)(v);
// cout<<typeid(t).name()<<endl;
// t->Out();
// int i;
// cout<<typeid(i).name()<<endl;
FromTest ft;
Test * t;//=new FromTest;
Test l;
l.Out();
t=&ft;
cout<<typeid(*t).name()<<endl;
}