operator=未被调用?
#include "stdafx.h"
class cls
{
public:
cls()
{
b=true;
i=100;
d=88;
}
bool b;
int i;
double d;
const cls& operator= (const cls& rhs);
};
const cls& cls::operator= (const cls& rhs)
{
i=rhs.i;
return * this;
}
int _tmain(int argc, _TCHAR* argv[])
{
cls a;
a.i=1000;
a.b=false;
a.d=55;
cls b=a;
return 0;
}
请问为什么operator=未被调用(实际上调用的是编译器默认的赋值函数)?