c++类中构造函数

来源:百度知道 编辑:UC知道 时间:2024/07/07 12:41:02
定义一个类A,并且定义拷贝构造函数,那么A x1;A x2;
A x3=x1;//调用拷贝构造函数
A x4=x1+x2;//已重载+号,还调用拷贝构造函数吗?上机调试好像没有
把类中自己定义的析构函数去掉之后,发现调用了拷贝构造函数,和理论分析的一样,编译器的缘故?

如果没有重载=应该就有,可能编译器会做优化

A x4 = x1 + x2 ;和 A x3 = x1
有什么区别?
+号重载肯定返回其中一操作数的引用,作为一个右操作数,x4调用复制构造函数,复制初始化全是要调用复制构造函数的,不管你重载或不重载.