#include <iostream>
using namespace std;
class A
{
public:
A(){}
A(const A &a){cout<<"1st";}
A& operator =(A&){cout<<"2nd";}
};
int main()
{
A b;
A a=b;
return 0;
}
Почему печатает 1st, хотя должен 2nd? Этому есть разумное объяснение, почему сделано именно так?