析构函数

原创 2018年04月16日 19:02:34

    析构函数执行与构造函数相反的操作:构造函数初始化对象的非static数据成员。 析构函数可能还要做其他的一些工作, 析构函数释放对象使用的资源, 并销毁对象的非static数据成员。

    析构函数是类的一个成员函数, 名字由波浪号接类名构成。他没有返回值,也不接受参数。析构函数不接受参数, 因此不能被重载。对于一个给定类, 只能有一个析构函数。析构函数由一个函数体和析构部分组成。 在一个构造函数中, 成员的初始化是在函数体执行之前完成的, 且按照他们在类中出现的顺序进行初始化。 在一个析构函数中, 首先执行函数体, 然后销毁成员。 成员按照初始化顺序销毁。内置类型没有析构函数, 因此销毁内置类型成员什么也不需要做 , 因此内置类型的销毁是隐式的。

    什么时候调用析构函数

    变量在离开作用域时被销毁;

    当一个对象被销毁时, 其成员被销毁。

    容器被销毁时, 其成员被销毁。

    对于动态分配的动向, 当对指向他的指针应用delete运算符时被销毁

    对于临时对象, 当创建它的完整表达式结束时被销毁。

(JS函数与作用域)[用OOP的思想来学习JavaScript]{第6章}

JavaScript已经成为当今最流行的语言,是基于Java的一种非常松散的面向对象语言,是数亿网民受益的最新动态语言,增强了与用户的交互性。 本课程将毫无保留的将作者积累的开发经验分享给大家,知识点深入浅出,详略得当。技能都来自实际开发的经验,在本课程中,也会将JavaScript开发的常见的“坑”让大家去填满,填满后你离JavaScript高级开发又进了一步。
  • 2017年05月06日 16:10

析构函数的作用和用法

析构函数是“反向”的构造函数。它们在对象被撤消(回收)时调用。析构函数的名 称除了最前面的“~”符号外,与类的名称相同。例如,类String的析构函数是~string()。 析构函数通常用于当一个对象...
  • chenlinben
  • chenlinben
  • 2012-09-21 01:12:18
  • 14258

析构函数报错

析构函数在什么时候被调用执行?   对于C++程序员来说,这个问题比较简单,但是比较爱唠叨的阿愚还是建议应该在此再提一提,也算回顾一下C++的知识,而且这将对后面的讨论和理解由一定帮助。先看一个...
  • ghevinn
  • ghevinn
  • 2014-03-11 11:06:53
  • 2932

C++何时需要自定义析构函数呢?

对象销毁时  如果我们自己没有写析构方法,编译器会帮我们写一个然后调用。 那么问题来了,既然我不写,编译器会帮我写,那我干嘛要写??? 有木有什么情况必须我自己写的???? 处理内存的时...
  • love9099
  • love9099
  • 2015-01-24 17:51:42
  • 1440

C++中基类的析构函数为什么要用virtual虚析构函数

C++中基类的析构函数为什么要用virtual虚析构函数, 弄清楚为什么。
  • IIcyZhao
  • IIcyZhao
  • 2013-09-22 18:41:19
  • 5635

析构函数是否必须为虚函数?什么情况下才应该定义析构函数为虚函数?

多态是面向对象的一个基本属性,包括静态多态(编译阶段)和动态多态(运行阶段),静态多态主要是指函数参数不同产生的多态性,是在编译阶段可以识别的一种多态机制,而运行时多态则主要用于基类指针指向派生类对象...
  • zhangqk2016
  • zhangqk2016
  • 2016-07-07 11:02:40
  • 2053

VS2010 C++ 学习笔记(五) 析构函数 深拷贝浅拷贝 小练习

1.析构函数 ~类名() ~Student() ********************************************************************...
  • linbounconstraint
  • linbounconstraint
  • 2015-08-15 22:19:14
  • 993

MFC应用程序添加析构函数

原文地址:http://blog.csdn.net/joyzml/article/details/5269062  MFC编写的智能设备应用程序,有些自己创建的GDI资源需要释放,以...
  • puppet_master
  • puppet_master
  • 2015-04-23 17:17:04
  • 1574

c++构造函数和析构函数的区别?

构造函数: 什么是构造函数?通俗的讲,在类中,函数名和类名相同的函数称为构造函数。它的作用是在建立一个对象时,作某些初始化的工作(例如对数据赋予初值)。C++允许同名函数,也就允许在一个类中有多个构...
  • xinsong520
  • xinsong520
  • 2016-08-25 18:35:39
  • 764

浅谈C++类(7)--析构函数

欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。 不知不觉我都写了6讲了,的确这样讲出来的学习才能迫使我真的去调试每个书上出现的代码,去想些自己能讲出什么新的书上没有的东西,这才...
  • vagrxie
  • vagrxie
  • 2007-04-28 12:41:00
  • 12456
收藏助手
不良信息举报
您举报文章:析构函数
举报原因:
原因补充:

(最多只允许输入30个字)