析构函数为虚函数的必要性
在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。
成都创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验成都创新互联公司是成都老牌网站营销服务商,为您提供成都做网站、成都网站制作、成都外贸网站建设、网站设计、H5高端网站建设、网站制作、成都品牌网站建设、微信小程序开发服务,给众多知名企业提供过好品质的建站服务。
class Base {
Base(){}
~Base(){cout<<"Base::~Base()"< virtual void Work(){cout<<"Base::Work"< }; class Drive : public Base { Drive(){} ~Drive(){cout<<"Drive::~Drive()"< virtual void Work(){cout<<"Drive::Work"< }; Base *pBase = new Drive(); pBase->Work(); delete pBase 输出: Drive::Work Base::~Base() 对象没有被完全delete。 如果在~Base()之前加上virtual ,输出 Drive::Work Drive::~Drive() Base::~Base()
文章标题:析构函数为虚函数的必要性
新闻来源:http://scyanting.com/article/pjpodh.html