jdtt 2020-06-01 17:57 采纳率: 66.7%
浏览 114
已采纳

问一道有关运算符重载的概念性问题

图片说明

书上说”*“
这个运算符是不能重载的
说是为了保证成员功能不能被改变,答案是A,就很疑惑.....求大佬解答......顺便问一下“=”为什么不能重载为二元的,我的想法是operator=(类型A a,类型A b){a.成员1=b.成员1;a.成员2=b.成员2;....}这样重载为友元不就是2元嘛......感谢大佬(。_ 。) ✎_

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-06-01 18:01
    关注
    选择A
    有几个操作数就是几元
    一元:
    !a
    &a
    *a
    a++
    ++a
    ...
    二元
    a == b
    a = b
    a += b
    a && b
    a * b
    ...
    三元
    a ? b : c
    
    B的错误在于,=不能是一元的。
    *作为指针运算可以是一元,作为乘法,又可以是二元,所以是唯一正确的。
    

    问题解决的话,请点下采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器