C加加中是否要编写对基类和成员对象的析构函数的调用?

 我来答 举报
itunes0004
2021-05-30 · TA获得超过4045个赞
知道大有可为答主
回答量:2685
采纳率:69%
帮助的人:527万
展开全部

不需要编写对基类和成员对象的析构函数的调用

基类的析构函数会自动被调用。

成员对象的析构函数在对象生存期结束时会自动调用。

看看下面程序的输出结果:

derived 

member

base

源码如下

#include <iostream>

using namespace std;

class member {

public: ~member() { cout << "member" <<endl; }

};

class base {

public: ~base() { cout << "base" <<endl; }

};

class derived: public base  {

    member m;

public: ~derived () { cout << "derived " <<endl; }

};

int main()

{

    derived d;

    return 0;

}

xiaobandance
2021-05-30 · TA获得超过112个赞
知道小有建树答主
回答量:274
采纳率:62%
帮助的人:24.6万
展开全部
不需要
基类和成员对象的析构函数,都由它们各自自己的类实现。
你只需要关心你自己的类,就行了。
在你的类中申请的资源,在析构函数里要记得释放。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
arongustc
科技发烧友

2021-05-30 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5994万
展开全部
所有的“析构函数”都很少需要被调用(只有一些非常特殊的场景才需要),关键在于你的“成员”变量是指针不是?如果是分配的指针对象,需要delete它,这样就trigger析构函数的调用了
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式