为了账号安全,请及时绑定邮箱和手机立即绑定

C++中不能重载的运算符,有哪几个?谢谢

C++中不能重载的运算符,有哪几个?谢谢

C++
慕尼黑的夜晚无繁华 2019-04-06 03:03:27
C++中不能重载的运算符,有哪几个?谢谢
查看完整描述

4 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

重载操作符的限制:
8.1 并不是所有的操作符都能被重载。除了. ,.* ,:: ,? : ,sizeof,typeid这几个运算符不能被重载,其他运算符都能被重载
8.2 重载不能改变该运算符用于内置类型时的函义,程序员不能改变运算符+用于两个int型时的含义。
8.3 运算符函数的参数至少有一个必须是类的对象或者类的对象的引用。这种规定可以防止程序员运用运算符改变内置类型的函义。
8.4 重载不能改变运算符的优先级。
8.5 重载不能改变运算符的结合律。
8.6 重载不能改变运算符操作数的个数。比如+需要两个操作数,则重载的+也必须要有两个操作数。

查看完整回答
反对 回复 2019-04-09
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

只有5个,分别是: 类属关系运算符"."、成员指针运算符".*"、作用域分辨符"::"、sizeof运算符和三目运算符"?:"



查看完整回答
反对 回复 2019-04-09
?
慕斯王

TA贡献1864条经验 获得超2个赞

C/C++ 里大多数运算符都可以在 C++ 中被重载。C 的运算符中只有 .和 ?:(以及 sizeof,技术上可以看作一个运算符)不可以被重载。C++ 增加了一些自己的运算符,除了 :: 和 .* 外,大多数都可以被重载

查看完整回答
反对 回复 2019-04-09
  • 4 回答
  • 0 关注
  • 1356 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信