首页 > 试题广场 >

下面哪个操作符不能重载()

[单选题]
下面哪个操作符不能重载()
  • =
  • <
  • sizeof
  • %
推荐
答案  C 
大部分的操作符是可以被重载的,例外的只有“.”、“::”、“?:”和“sizeof”。没有什么非禁止operator?:重载的理由,只不过没有必要而已。另外,expr1?expr2:expr3的重载函数无法保证expr2和expr3中只有一个被执行。
而“sizeof”无法被重载是因为不少内部操作,比如指针加法,都依赖于它。

编辑于 2015-01-12 15:45:28 回复(0)
不能重载的运算符
    * sizeof运算符
    * :: 作用域解析运算符
    * ?: 条件运算符
    * .  直接成员运算符
    * .* 成员指针运算符
    * tpeid
    * const_cast
    * dynamstic_cast
    * reinterpret_cast
    * static_cast
只能通过成员函数进行重载
    * = 赋值运算符
    * () 函数调用运算符
    * [] 下标
    * -> 间接成员运算符
发表于 2016-05-11 10:47:48 回复(0)
运算符重载实质上是函数重载。
运算符重载时要遵循一个规则,即 除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目运算符"?:"以外,C++中的所有运算符都可以重载。
发表于 2015-08-30 13:58:15 回复(0)
C
C++中绝大部分的运算符可重载,除了成员访问运算符.,作用域运算符::,长度运算符sizeof以及条件运算符?:
发表于 2015-01-11 19:09:04 回复(0)
大部分操作符是可以被重载的,例外的只有 . :: ?: sizeof(),指针加法内部依赖于sizeof
发表于 2022-03-07 13:41:20 回复(0)
赋值运算符和关系运算符可以重载
发表于 2023-10-31 09:00:48 回复(0)
c++问题,不知道为啥在c语言刷到
发表于 2020-11-19 09:03:47 回复(0)
不会
发表于 2018-11-05 20:17:34 回复(0)
不能被重载的运算符:[1].成员选择[2].*指向成员操作的指针[3]::作用域[4]?:条件运算符[5]sizeof [6]typeid [7]const_cast [8]static_cast[9]dynamstic_cast[10]reinterpret_cast
发表于 2017-07-18 22:34:28 回复(0)
例外的只有“.”、“::”、“?:”和“sizeof”
发表于 2017-02-01 10:23:59 回复(0)
不能重载的运算符有sizeof :: ?: .* . typeid 

发表于 2015-09-27 20:11:37 回复(0)
为什么c++primer说sizeof也可以被重载啊
发表于 2015-07-27 20:33:05 回复(1)
C  教材上明确说了 sizeof不能重载
发表于 2015-04-30 09:23:58 回复(0)
答案:C
= <  % 都可以被重载,sizeof设计内存统计和指针操作,因此不允许被重载
发表于 2015-01-28 12:35:03 回复(0)