复制构造函数其实也是类的构造函数,只不过被调用的时候,会自动将一个已知对象的数据成员的值拷贝给另一个同类对象。
复制构造函数的特点如下:
复制构造函数名称与类名相同;复制构造函数必须有且只有一个参数,是该类对象的引用;
每个类必须有一个复制构造函数。如果定义类的时候自己没有写,编译器编译时会自动生成一个复制构造函数;
复制构造函数格式:<类名>::<类名>(<类名> const&<引用名>)
例如:
A::A(const A &a); // 缺省的拷贝构造函数
被调用情况,例如:假设classX是一个类,x和y是它的对象classX x; //定义一个对象x classX y(x); //定义一个对象y,把x作为参数,这时侯就会调用类的拷贝构造函数。