has virtual functions but non-virtual destructor

 

#include 
using namespace std;
class based{
public:
	based(){
	}
	~based(){
		 cout<<"flag 1"<f();
delete p;
	
}

 

输出结果:

ok2

flag 1

 

指向基类的指针,delete p;只调用基类的析构函数,没有调用派生类的析构函数。

 

你可能感兴趣的:(C/C++)