实践出真理!
#include<stdio.h> #include<iostream> class A{ public:A(); virtual~A(); virtual void fun1(){ printf("A:fun1"); } virtual void fun2(){ printf("A:fun2"); } }; A::A(){} A::~A(){ printf("Delete class A\n"); } class B : public A { public:B(); ~B(); void fun1(){ printf("A:fun1"); } void fun2(){ printf("A:fun2"); } }; B::B(){ } B::~B(){ printf("Delete class B\n"); } int main(){ A *a=new B; A *a2=new B; A *a3=new A; delete a; //delete c; //delete d; return 0; }