首页 > 试题广场 >

下列运算符中,能够被重载的是()

[不定项选择题]
对于c/c++的下列运算符中,能够被重载的是()
  • &&
  • !=
  • .
  • ->
除了类属关系运算符"."成员指针运算符".*"作用域运算符"::"sizeof运算符三目运算符"?:"以外,C++中的所有运算符都可以重载
但是=、()、[]、->这四个不能重载为类的友元函数。
Java的小伙伴,泥萌走错啦
发表于 2019-08-02 20:55:18 回复(2)
家人们,凡是带   . 点 的都不能重载,还有一个例外,sizeof
发表于 2021-12-03 11:43:13 回复(2)
下列运算符不允许重载(5个):
. (成员), .*(指针) , ::(域运算符) , ?:(三目运算符),siezof(容量度);
下列只能通过成员函数来重载(4个);
=(赋值),[],(),->(指向并访问)


发表于 2019-12-29 15:07:04 回复(1)
啥玩意儿??
我是谁?
杰尼龟!
发表于 2019-08-02 19:14:52 回复(3)
?????? 啥玩意儿?重载是啥
发表于 2021-12-18 12:35:43 回复(0)
答案错误,&&重载不能实现短路规则
发表于 2020-06-10 21:23:14 回复(0)
C++中并不是所有的运算符都可以重载,以下几个运算符是不能够被重载的:

1. 成员访问运算符(.): 因为成员访问运算符是用来访问类的成员变量和成员函数的,所以不能被重载。

2. 条件运算符(?:): 条件运算符是一个三目运算符,用于条件表达式,不能被重载。

3. 范围解析运算符(::): 范围解析运算符是用来指定命名空间、作用域等的,不能被重载。

4. sizeof运算符: sizeof运算符返回对象或类型的大小,不能被重载。

5. typeid运算符: typeid运算符返回对象的类型,不能被重载。

6. C语言中的三个运算符:点(.)、箭头(->)和逗号(,)这些运算符在C++中虽然也存在,但它们无法被重载。

需要注意的是,C++标准库中提供了一些运算符的函数形式(如+, -, *, /等),这些函数可以被重载,但这并不等于重载了对应的运算符本身。

  1. =运算符:赋值运算符用于将一个对象的值赋给另一个对象。它是一个二元运算符,左操作数是被赋值的对象,右操作数是赋值的源对象。由于赋值运算符必须改变左操作数的状态,而友元函数无法直接访问私有成员,所以无法通过友元函数进行重载。

  2. ()运算符:函数调用运算符用于调用重载了该运算符的类对象。它需要一个函数名称后面紧跟一对小括号来表示函数调用。由于函数调用运算符的行为是对对象进行函数调用,而不是访问对象的成员,所以无法通过友元函数进行重载。

  3. []运算符:下标运算符用于访问类对象中的数组或容器元素。它需要一个索引值作为操作数,并返回对应索引位置的元素。由于下标运算符的行为是访问对象的成员,而不是对对象进行函数调用,所以无法通过友元函数进行重载。

  4. ->运算符:成员访问运算符用于通过指针访问类对象的成员。它是一个一元运算符,用于解引用指向对象的指针,并访问该对象的成员。由于箭头运算符必须通过指针进行操作,而友元函数无法直接访问私有成员或者解引用指针,所以无法通过友元函数进行重载。


编辑于 2023-11-06 09:33:57 回复(0)
好多JAVA乱入的
发表于 2022-09-14 00:04:18 回复(0)
除了类属关系运算符"."成员指针运算符".*"作用域运算符"::"sizeof运算符三目运算符"?:"以外,C++中的所有运算符都可以重载
但是=、()、[]、->这四个不能重载为类的友元函数。
发表于 2023-05-14 17:05:56 回复(0)
习惯性选了C的人有吗。。。
发表于 2022-09-24 14:54:27 回复(0)

Java不支持运算符重载

发表于 2019-09-05 21:22:01 回复(0)
蛇皮顺丰
发表于 2019-08-24 15:09:55 回复(0)
狗屎,我懵了。java操作符我还没见过重载的。这一点都不java
发表于 2019-08-16 08:40:18 回复(0)
走错了。。。
发表于 2019-08-03 22:52:58 回复(0)
有人回答吗  从来没遇过这个问题
发表于 2019-07-31 14:18:13 回复(1)