1 copy构造函数的作用:用一个已存在的类对象去构造一个新的类对象;2 当没有自定义copy构造函数时,C++编译器调用默认的copy构造函数;3 拷贝构造函数的参数只能是该类的引用,不能是该类的对象;因为,如果是该类的对象,那么调用拷贝构造函数时,就是值传递,而值传递又会调用拷贝构造函数构造类临时对象,就这样不断地调用copy构造函数,这样死循环了,因此copy构造函数的参数必须是该类的引用;
1 浅拷贝和深拷贝的概念:在类中没有再重新申请开辟资源,就是浅拷贝;如果又重新申请开辟资源了,则是深拷贝;2 当类中需要动态开辟新内存时,需要自定义拷贝构造函数,进行深拷贝,需要重新申请资源;例如:当类中有指针成员时,而且需要在成员函数中new资源,这种情况下就必须自定义拷贝构造函数;