#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"1";
}
virtual ~A()
{
cout<<"2";
}
void print()
{
cout<<"3";
}
};
class B : public A
{
public:
B()
{
cout<<"4";
}
virtual ~B()
{
cout<<"5";
}
virtual void print()
{
cout<<"6";
}
};
class C : public B
{
public:
C()
{
cout<<"7";
}
virtual ~C()
{
cout<<"8";
}
virtual void print()
{
cout<<"9";
}
};
int main()
{
A *a = (A*)new B;
a->print();
B* b = (B*)new C;
b->print();
delete b;
delete a;
system("pause");
}
输出:143147985252