Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4263319
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-04-18 20:21:09

                   对象的释放



1.对象释放的定义:


     在初始化对象后,在程序中运行,对象就要占用内存,使用完对象后,就应该释放掉对象,以释放内存的使用



自己定义的类
  1. class student
  2. {
  3.  private:
  4.  char m_name[3];
  5.  int m_age;
  6.  char m_***;
  7.  public:
  8.  student();       //无参构造函数
  9.  ~student();      //析构函数   释放的方法
  10.  void input(char name[3],int age,char ***);
  11. }

2.对象释放的方法:


 1,系统自己释放
 
  无参的构造方法前面加 “~”

  1. student::~student()    析构函数
  2. {

  3. }

2.人工释放



3.对象释放的注意事项


1.析构函数没有返回值

2.析构函数没有参数

3.析构函数在 构造函数之前加 “~”

4.析构函数 只能有一个



如果我们没有定义析构函数,系统会自己定义一个析构函数

如果我们定义了一个析构函数,系统的就没有用了


构造函数有多个,可以是无参,有参,
析构函数只能有一个,必须是无参,



系统默认的析构函数,里面什么都没有

  1. student::~student()
  2. {

  3. }

自己定义的析构函数
  1. student::~student()
  2. {
  3.   cout<<"the object is deconstructing<
  4. }

对象的生命周期

  1. void main()
  2. {
  3.    student stu;          //创建、初始化一个对象  使用自己无参构造函数
  4.    stu.input("tom");       //对象使用
  5. }

1.创建一个对象,
2.初始化对象
3.对象的使用
4.生命周期结束,释放对象


  释放的时候,需不需要再写一遍析构函数呢?

  不用,因为系统会自动调用析构函数








阅读(523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~