首页 文章

C将对象传递给函数,不调用operator =

提问于
浏览
0

所以这是代码片段:

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 回答

  • 1

    operator =为已存在的对象调用,否则构造函数(或复制构造函数)用于创建所需的实例

相关问题