虚析构函数

来源:互联网 发布:c语言 define 编辑:程序博客网 时间:2024/04/29 23:15
#include <iostream.h>class Base{public:virtual ~Base(){  //如果不声明为虚析构函数,则只能析构基类,派生类不能析构,造成内存泄露cout<<"Base destructor\n";}};class Derived:public Base{public:Derived();~Derived();private:int *i_pointer;};Derived::Derived(){i_pointer=new int(0);}Derived::~Derived(){cout<<"Derived destructor\n";delete i_pointer;}void fun(Base *b){delete b;}int main(){Base *b=new Derived();fun(b);}

0 0
原创粉丝点击