复制构造函数的定义:
复制构造函数是一种特殊的构造函数,其形参为本类的对象引用。作用是用一个已经存在的对象去初始化同类型的新对象。
复制构造函数被调用的三种情况:
1 定义了一个对象,以本类另一个对象作为初始值,发生复制构造。
2 如果函数的形参是类的对象,调用函数时,将使用实参对象初始化形参对象,发生复制构造。
3 如果函数的返回值是类的对象,函数执行完成返回主调函数时,将使用return语句中的对象初始化一个临时无名对象,传给主调函数,发生复制构造。
复制构造函数的形式:
class 类名{
public:
类名(形参);//构造函数
类名(const类名&对象名);//复制构造函数
};
类名::类(const类名&对象名)//复制构造函数的实现
{函数体}
下面是复制构造函数的一个例子:
#define _CRT_SECURE_NO_WARNINGS 123
#include<iostream>
using namespace std;
class CLOCK {
public:
CLOCK(int newhour=10, int newminute=10, int newsecond=10);
CLOCK(const CLOCK& d);