最近在找实习,被问到很多基础问题,我都忘得一干二净了,现在有空来整理一下。
就类对象而言,相同类型的类对象是通过
拷贝构造函数
来完成整个复制过程的。
拷贝构造函数是一种特殊的
构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量
。
拷贝构造函数的参数为什么必须使用引用类型?
如果拷贝构造函数中的参数不是一个引用,即形如CClass(const CClass c_class),那么就相当于采用了传值的方式(pass-by-value),而传值的方式会调用该类的拷贝构造函数,从而造成无穷递归地调用拷贝构造函数。因此拷贝构造函数的参数必须是一个引用。