Class Base{
Base(){};
virtual ~Base(){cout<<"Do Base destructor "<<endl;
}
Class Derived :public Base{
Derived(){};
~Derived(){cout<<"Do Derived destructor"<<endl;
}
Base *ptext= new Derived ;
delete ptext;
上面输出
Do Derived destructor
若去掉virtual
则不输出,即子类的析构函数没用被调用。