拷贝构造函数: 就是当已经存在一个现有的对象(内存已经分配好了的时候),想要得到多个这样的对象(从无到有),那么定义一个拷贝构造函数, 可以用一个现有的对象复制得到多个对象. 上面发生的对象复制过程. 而对象的赋值: 是已经创建了两个对象的情况下, 把一个现有对象的值赋值给另一个对象.
浅拷贝和深拷贝出现的问题: 就是如果A对象中有指针, 这个指针未经初始化,就有拷贝构造函数把A拷贝至了B, 因此B中的那个指针和A中成员的那个指针指向的是同一个区域,试想,任何一个对象A或者B先释放, 都会对成员指针所指对象的内存区域释放一次, 因此就会产生问题. 因此需要定义深拷贝构造函数. 也就是定义一个拷贝构造函数, 这个拷贝构造函数内,会对成员的指针进行重新申请资源. http://www.cnblogs.com/BlueTzar/articles/1223313.html