小编告诉你构造函数和析构函数小结
1、鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

2、点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需

3、 构造函数
定义
调用方式(隐式)
复制构造函数
析造函数
定义
调用时机
各种构造函数和析构函数的调用时机

4、构造函数(定义)
构造函数是 public 的;
无返回值,可以有0到多个参数;
用户不定义,自动生成缺省的;
缺省的构造函数什么也不做,没有参数;
用户定义,则没有缺省的;
可以定义多个构造函数;
用于初始化对象的变量。

5、构造函数(调用方式)
定义对象变量时:
Complex c1,c2(2),c3(3,5);
创建新变量对象时:
Complex * pc1 = new Complex ;
Complex * pc2 = new Complex(3,4);
创建数组对象时:
Test array1[3] = { 1, Test(1,2) };
Test * pArray[3] = { new Test( 4), new Test(1,2) };

6、构造函数(复制构造函数)
特殊构造函数,只有一个参数,类型为本类的引用;
如果没有定义,生成缺省的复制构造函数;
如果定义,没有缺省复制构造函数;
与前面说的构造函数无关;
Complex c2(c1); Complex c2 = c1;
参数传递时,复制参数;
函数返回时复制返回值。

7、析造函数(定义)
只有一个;
没有参数和返回值;
如果不定义,自动生成,什么也不做;
如果定义,没有缺省的;
完成对象消亡前的收尾工作;
~类名(){ … }。

8、各种构造函数和析构函数的调用时机
构造函数
全局变量: 程序运行前;
main中变量: main开始前;
函数中静态变量: 函数开始前;
函数参数:函数开始前;
函数中变量:函数开始前;
函数返回值:函数返回前;
析构函数
全局变量: 程序结束前;
main中变量: main结束前;
函数中静态变量: 程序结束前;
函数参数:函数结束前;
函数中变量:函数结束前;
函数返回值:函数返回值被使用后;
