关于拷贝构造函数以及重载等号的问题
#include <iostream.h>
class A
{
public:
A(){}
A(A& a){cout << "copy constructor"<<endl;}
A operator = (A a)
{
cout << "override ="<<endl;
return a;
}
};
void main()
{
A a;
A b;
b = a;
}
程序运行显示:
copy constructor
override =
copy constructor
请问为什么有这三个结果,能给我一一解释一下吗?