首先,调用复制构造函数有以下几种情况: ①程序中需要新建立一个对象,并用另一个对象对它初始化。 ②函数的参数为类的对象。 ③函数的返回值是类的对象。 将类的一个对象赋值给该类的另一个对象时是由赋值运算符重载实现的 我们经常这样写: MyClass a(b); 或者 MyClass a=b; 这两种情况 都是调用复制构造函数 MyClass a; a=b; 就会调用 赋值重载operator= 来赋值,对象a已经存在了,调用普通的赋值运算符就可以了,不用再调用构造函数。