析构函数

析构函数是对象被销毁时,系统最后调用的一个函数,一般用于扫尾工作。

析构函数和构造函数一样,没有的话,系统免费送一个,自己定义的话就如下:

class Node
{
public:
    int index;
    Node* left;
    Node* right;
public:
    Node(int i)   //构造函数,带一个参数
    {
        index=i;
        left=0;
        right=0;
    }
    ~Node()  //析构函数
    {
        if (left)
            delete left;
        if (right)
            delete right;
    }
};

析构函数没有返回值,且不带参数,只用在类名的函数名前加一个取反运算符~即可。

一般成员变量里有指针时要写,因为这些指针指的空间一般是用new运算符分配的,不会随着对象的销毁而释放,因为系统只会自己释放那个指针用来存地址的空间,它指的那个空间很可能就孤立了,别人也再也指不过去了,所以要手动释放。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值