有一个类的对象初始化另一个对象时,系统将自动调用拷贝构造函数或默认拷贝构造函数。
构造函数的特点:
1、拷贝构造函数名字与类同名,并且不必制定返回类型;
2、拷贝构造函数只有一个参数,并且该参数是该类的对象的引用;
3、拷贝构造函数的格式:<类名>::<拷贝构造函数名>(<类名>&<引用名>){<函数体>}
4、如果一个类中没有定义拷贝构造函数,则系统自动生成一个默认构造函数。该默认构造函数的功能是将已知对象的所有数据的值拷贝给未知对象的所有对应的数据成员。
拷贝构造函数的其他用处
1、在使用对象作为函数的参数的情况下,当实参值传递给形参时,系统自动调用默认构造函数来实现这以传递;
2、当对象作为函数的返回值时,系统自动调用拷贝函数返回值(对象值)创建一个临时对象,然后再将这个临时对象赋值给调用构造函数的某个接受函数返回值的对象。