开发者社区 问答 正文

C++数据成员赋值方式问题

在成员函数中给一个数据成员赋值,若该数据成员是"me",那么"me=1"和"me(1)"有何不同?

展开
收起
a123456678 2016-03-04 16:06:42 1920 分享 版权
1 条回答
写回答
取消 提交回答
  • me=1如果是初始化,将调用一个构造函数;如果不是,将调用operator=(int),如果me的类定义中没有operator=(int)或者int相关类型重载,将会调用带有一个int参数的构造函数构造一个临时对象,然后调用赋值操作符函数进行赋值
    me(1)如果是初始化,将会调用一个构造函数,如果不是初始化而且定义了operator()(),将会调用这个操作符函数

    2019-07-17 18:52:26
    赞同 展开评论
问答分类:
C++
问答地址: