析构函数为虚函数的必要性

在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。

成都创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验成都创新互联公司是成都老牌网站营销服务商,为您提供成都做网站、成都网站制作、成都外贸网站建设、网站设计、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://hxwzsj.com/article/pjpodh.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站建设公司 网站建设开发 网站制作公司 盐亭网站设计 定制网站设计 教育网站设计方案 成都网站制作 企业手机网站建设 手机网站制作 成都网站设计公司 成都网站制作 做网站设计 高端网站设计 成都网站建设 高端网站设计推广 网站建设方案 网站建设公司 外贸网站建设 企业网站设计 LED网站设计方案 成都网站设计 重庆企业网站建设