所以这是代码片段:
class MyClass {public:MyClass(char chIn){std :: cout <<“Constructor!” << std :: endl; } MyClass&operator =(char chIn){std :: cout <<“Assigment operator!” << std :: endl; }}; void Func(MyClass objIn){return; } int _tmain(int argc,_TCHAR * argv []){Func('T');系统( “暂停”);返回0; }
在上面的例子中,对象的构造函数被称为!!!!为什么会这样?不应该调用分配运营商吗?因为我们要为函数参数赋值,不是吗?
1 回答
operator =为已存在的对象调用,否则构造函数(或复制构造函数)用于创建所需的实例