摘要: 1.复制构造函数没有用引用而是值或指针class A { public: A(const A a) { ... } //因为每次传入一个对象时,会调用这个对象的拷贝构造函数,造成无限循环 A(const A *a) { ... } //同上 A(const A &a) { ... } ~A() { if(p!=NULL) { delete p; p=NULL; } } A* p; };2.析构函数无线循环class A { public: A() { p=this; } ~A() { if(p!=NULL) { delete p; p=NULL; } } A* p;... 阅读全文