对于普通的数据类型来说,拷贝很简单,a = b。
但是对于对象,因为存在各种成员,拷贝的时候就会用到拷贝构造函数。
拷贝狗仔函数是一种特殊的构造函数,其函数名和类名相同,但是必须包含一个本类的一个引用变量。
例如:
class A
{
A();//构造函数
A(A &a);//拷贝构造函数
};
int main()
{
A a;
A b = a;//会调用拷贝构造函数
}
以下三种情况会调用拷贝构造函数:
1.对象以值传递的方式传入函数参数
2.对象以值传递的方式从函数返回
3.对象需要通过另外一个对象进行初始化
原文:http://www.cnblogs.com/MrJane/p/4972404.html