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

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


慕尼黑的夜晚无繁华
浏览 1357回答 4
4回答

婷婷同学_

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

慕勒3428872

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

慕斯王

C/C++ 里大多数运算符都可以在 C++ 中被重载。C 的运算符中只有 .和 ?:(以及 sizeof,技术上可以看作一个运算符)不可以被重载。C++ 增加了一些自己的运算符,除了 :: 和 .* 外,大多数都可以被重载
打开App,查看更多内容
随时随地看视频慕课网APP