析构函数为虚函数的必要性-创新互联

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

成都创新互联是一家专注于成都网站设计、成都做网站、外贸网站建设与策划设计,冠县网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:冠县等地区。冠县做网站价格咨询:13518219792

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()

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


当前名称:析构函数为虚函数的必要性-创新互联
地址分享:http://ybzwz.com/article/jjhdc.html