下面程序的结果是多少?怎么分析的 谢谢!!!!
class Base{public: int m_a; Base(int a = 2):m_a(a){printf("A %d",m_a);} virtual ~Base() {printf("B %d",m_a);}};class Derived : public Base {public: Derived (int a = 4):Base(a){printf("C %d",m_a);} ~Dwrived (){printf("D %d",m_a);}};int main(){ Base *aa,bb; aa =new Derived; delete aa; return 0;}class Base{public: int m_a; Base(int a = 2):m_a(a){printf("A %d",m_a);} virtual ~Base() {printf("B %d",m_a);}};class Derived : public Base {public: Derived (int a = 4):Base(a){printf("C %d",m_a);} ~Derived (){printf("D %d",m_a);}};int main(){ Base *aa,bb; aa =new Derived; delete aa; return 0;}//记住:构造是先从父类开始构造,再到子类,析构以相反的方向析构!