析构函数:也是一种特殊的成员函数,执行与构造函数相反 的操作,通常完成一些清理任务,如释放分配给对象的内存空间
性质:1.析构函数与构造函数的名字相同,只是在它面前加上一个波浪号
2.析构函数没有参数,没有返回值,而且不能重载,因此在一个类中只能有一个析构函数
析构函数:也是一种特殊的成员函数,执行与构造函数相反 的操作,通常完成一些清理任务,如释放分配给对象的内存空间
性质:1.析构函数与构造函数的名字相同,只是在它面前加上一个波浪号
2.析构函数没有参数,没有返回值,而且不能重载,因此在一个类中只能有一个析构函数
构造函数
定义:一种特殊的成员函数,主要用于对象空间的分配,初始化,初始化的是数据成员,通常为类的私有的成员初始化
性质
1.构造函数的名字必须与类名同名
2.构造函数被声明为公有函数
3.构造函数可以 有任何类型的参数,但不能具有返回类型
4.定义对象时,系统会自动地调用构造函数而不能像其他的成员函数那样被显示地调用
5.每一类都需要有构造函数,若没有提供则系统提供一个默认的构造函数,什么都不做,
析构函数
定义:也是一种特殊的成员函数,执行与构造函数相反的操作,通常完成一些清理任务,如释放分配给对象的内存空间等
性质
1.析构函数与构造函数的名字相同,只是在它的前面加上一个波浪号~
拷贝构造函数
拷贝构造函数只有一个参数,并且是对某个对象的引用
作用:使用被引用对象来去初始化另外的对象
类名::<拷贝初始化构造函数名>(const<类
名>&<引用名>)
如果没有定义拷贝构造函数,系统会默认一个
构造函数在什么调用:一个对象在创建的时候调用,什么时候开始对象创建,全局对象
相同作用域的对象,先定义的对象先构造
析构函数在什么时候调用