class A
{
public:
A() {cout << "1";}
A operator=(const A&){cout << "2"; return *this;}
A (const A&) {cout << "3";}
};
int main()
{
A a1;
A a2 = a1;//line 1
a2 = a1;//line 2
}
pls explain which functions will be called in line 1 and line 2 and why??
{
public:
A() {cout << "1";}
A operator=(const A&){cout << "2"; return *this;}
A (const A&) {cout << "3";}
};
int main()
{
A a1;
A a2 = a1;//line 1
a2 = a1;//line 2
}
pls explain which functions will be called in line 1 and line 2 and why??
Comment