https://www.jb51.cc/csharp/1192526.html

编程之家收集整理的这篇文章主要介绍了C++运算符中不能重载的是哪些编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

C++运算符中不能重载的有:1、条件运算符“?:”;2、成员访问运算符“.”;3、域运算符“::”;4、长度运算符“sizeof”;5、成员指针访问运算符“->”和“.” 。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2fbcf502-0182-4635-8aed-56737c483ae2/6a4199ef5dac94bea716efaf82d29a4c.jpg

相关推荐:《C++视频教程

重载:让操作符可以有新的语义,而不是更改语法,否则会引起混乱。

重载的部分规则:运算函数的参数至少有一个必须是类的对象或者是类的对象的引用。

而C++中不能重载的运算符有5个,分别为:

那么这几个运算符为什么不能进行重载?原因介绍:

(1)“?:”

假设可以重载,那么我们来看下列的代码

该运算符的含义是执行exp2和exp3中的一个,假设重载了,就不可以保证执行一个还是两个,还是都没执行,该运算符的跳转性质就不复存在了。所以,“?:”不能被重载。

(2)“.”

假设可以重载,我们可以假设一种情况,创建一个对象,调用该对象的函数