C++ | 深拷贝与浅拷贝的认识和区别
1、构造函数
在C++面向对象程序设计中,通过构造函数对对象进程初始化,它可以为对象在计算机内存中开辟内存空间,也可以为对象的数据成员提供初始值。构造函数时一个与类同名,没有返回值的特殊成员函数,每当创建一个对象时(包括使用new动态创建对象),编译系统就会自动调用构造函数。构造函数像类以外的一般函数和类成员函数一样,可以重载和带缺省参数,构造函数的重载为对象的生成提供了各种灵活的手段。
构造函数分为缺省构造函数(默认构造函数)和用户自定义构造函数。当程序员没有定义构造函数时,系统就会提供一个无参的缺省构造函数,如果用户自定义了一个构造函数,编译器提供的缺省构造函数就自动消失了。