构造函数的调用规则:
如果写了有参构造函数,系统将不会提供无参构造函数,那么当我们不再写无参构造函数的时候,整个程序中就不会有无参构造函数,但是系统仍然会提供拷贝构造函数
如果写了拷贝构造函数,系统将不会提供其他的构造函数
深拷贝和浅拷贝:
浅拷贝:简单的赋值拷贝操作,在没有写拷贝构造函数的情况下,利用编译器提供的拷贝构造函数,会做浅拷贝操作,浅拷贝会带来堆区内存重复释放的问题,这是非法操作
上述问题的解决方法:采用深拷贝,自己写一个拷贝构造函数
深拷贝:在堆区重新申请空间,进行拷贝操作。