析构函数(整理)

新的概念:析构函数

回忆:构造函数的作用:初始化变量(为变量分配空间)
新知:析构函数的作用:销毁变量(释放变量占用的空间)

析构函数的特征

  1. 命名方式:~<类名>
  2. 无返回类型(void)也没有(类似构造函数)
  3. 没有参数,因此不能被重载
  4. 没有明显定义时,系统调用默认析构函数
  5. 何时调用析构函数?当对象的生命周期结束时

示例要求:

  1. 定义 IntArray 类,要求根据需要确定数组的规模
  2. 默认数组的规模为10个元素
  3. 可以显示数组的规模信息
#include <iostream>
using namespace std;
class IntArray
{
  public:
  IntArray(int sz) //有参构造函数
  {
    m_size=sz;
    m_ptr=new int[sz];
  }
  IntArray()  //无参构造函数
  {
    m_size=10;
    m_ptr=new int[m_size];
  }
  void displayArraySize()  //显示数组信息
  { 
    cout<<"The size of this array is:"<<m_size<<endl;
  }
  ~IntArray()  //析构函数
  {
    cout<<"Destructing Array with size"<<m_size<<endl;
    delete []m_ptr;  //收回占用的空间
  }
  private:
     int m_size;
     int *m_ptr;
  };
  int main
  {
     IntArray a(20),b;
     a.displayArraySize();
     b.displayArraySize();
     return 0;
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值