所以这里是代码片段:
类 MyClass { public: MyClass(char chIn) { std::cout << "构造函数!" << std::endl; }
MyClass & operator= (char chIn) { std::cout << "赋值运算符!" << std::endl; } } ;
void Func(MyClass objIn) { return; }
int _tmain(int argc, _TCHAR* argv[]) { Func('T'); 系统(“暂停”);返回0;}
在上面的例子中,对象的构造函数被调用!!!!为什么会出现这种行为?不应该调用赋值运算符吗?因为我们正在为函数参数赋值,不是吗?