C++构造函数和析构函数
一、概念
构造函数和析构函数被编译器自动调用的类内部函数,构造函数用于初始化对象,析构函数在程序结束时完成清理工作。
二、语法
构造函数函数名和类名相同,没有返回类型。但可以有参数,可以重载。
析构函数函数名是在类名前加“~”组成。不能有参数,不能重载。
三、构造函数分类
1、按参数分:无参构造函数、有参构造函数
2、按类型分:普通构造函数和拷贝构造函数
四、拷贝构造函数
1.注意事项:
不能调用拷贝函数初始化匿名对象
对象作为函数的参数 如果实参与形参 都是普通对象 那么就会调用拷贝构造
函数返回局部对象 无法调用拷贝函数
五、总结
1、先构造的后析构
2、如果用户提供了有参构造 将屏蔽 系统的默认构造函数
3、如果用户提供了有参构造 不会屏蔽 系统的默认拷贝构造函数
4、如果用户提供了拷贝构造函数 将屏蔽 系统的默认构造函数 默认拷贝构造函数(注意)