构造函数、复制构造函数和析构函数的特性
(1)构造函数是在定义一个对象时进行一些初始化函数并且没有函数类型,可以在类中直接定义构造函数,不用声明。可以重载,可以有参数表。
(2)析构函数是完成对象被删除前的清理工作,没有参数,不能重载,无返回值,数据成员是逆序析构,它是在对象的生存期即将结束的时刻被调用。
(3)析构函数和构造函数可以是内联函数。
(4)析构函数可以为虚,但构造函数不能为虚,因为虚调用只适用于只知道接口,不知道类型的对象,而调用构造函数时,必须知道对象的类型。
(5)复制构造函数是以一个已经存在的对象去初始化另一个新的对象,它的功能是把初始化对象的每个数据成员的值复制到新建立的对象。