2014-03-17 13:32
提问者采纳
因为你用point *p=new circle;创建的是父类指针p,只是它指向了一个新创建的子类型的对象。delete p销毁的是父类的指针,跟子类无关,所以不执行子类的析构;只有销毁子类指针时才先执行子类析构,再执行父类析构。你把point *p=new circle;改成circle *p=new circle;,销毁p时就会输出 executing Circle destructor executing Point destructor 来。
-
提问者评价
-
谢谢!