class A
{
public:
int aa;
A() : aa( 1 ){}
~A(){}
virtual void ABC(){ aa = 2; }
};
class B : public A
{
public:
B(){}
~B(){}
virtual void ABC(){ aa = 3; }
};
class C : public B
{
public:
C(){}
~C(){}
};
class D : public C
{
public:
D(){}
~D(){}
};
a = new D;//這時候aa的值為1,這是初始化的效果
a->ABC();//這時候aa的值為3,調(diào)用的是類B中的ABC()