首页 > 试题广场 >

有关运算符重载正确的描述是()?

[单选题]

有关运算符重载正确的描述是()?

  • c++语言允许在重载运算符时改变运算符的操作个数
  • c++语言允许在重载运算符时改变运算符的优先级
  • c++语言允许在重载运算符时改变运算符的结合性
  • c++语言允许在重载运算符时改变运算符原来的功能
推荐
说明:c ++语言允许在重载运算符时改变运算符原来的功能。例如将“ + + "符号重载时,可以定义为“--"的功能。但是,不提倡这样做,重载运算符最好仍保持原有的功能。


发表于 2018-05-05 21:26:35 回复(0)
更多回答
运算符的重载有以下几点需要注意:
1.不是所有的运算符都能被重载。
2.重载不能改变运算符的优先级和结合性
3.重载不会改变运算符的用法,原有有几个操作数、操作数在左边还是在右边,这些都不会改变
4.运算符重载函数不能有默认的参数
5.运算符重载函数既可以作为类的成员函数,也可以作为全局函数
6.箭头运算符->、下标运算符[ ]、函数调用运算符( )、赋值运算符=只能以成员函数的形式重载

发表于 2019-10-31 17:03:05 回复(0)

运算符重载注意点:

  • 不是所有的运算符都能重载,如:
    .:成员访问运算符
    .*,->*:成员指针
    :::域运算符
    sizeof:长度运算符
    ?::条件运算符
    #:预处理运算符
  • 重载不能改变运算符的优先级结合性
  • 重载不会改变运算符的用法,原有几个操作数、操作数在左边还是右边,不会改变
  • 运算符重载不能有默认参数
  • 运算符重载函数既可以作为类的成员函数,也可以作为全局函数
  • 成员访问运算符 -> 函数调用运算符 () 下标运算符 [] 赋值运算符 只能通过成员函数的形式重载
发表于 2021-06-29 10:19:04 回复(0)
【注意】
1.重载不能改变运算符运算对象(即操作数)的个数;如,关系运算符“>”和“<”等是双目运算符,重载后仍为双目运算符,需要两个参数。运算符”+“,”-“,”*“,”&“等既可以作为单目运算符,也可以作为双目运算符,可以分别将它们重载为单目运算符或双目运算符。
2.重载不能改变运算符的优先级别;
3.重载不能改变运算符的结合性。如,复制运算符”=“是右结合性(自右至左),重载后仍为右结合性;
4.重载运算符的函数不能有默认的参数;
5.重载运算符的运算中至少有一个操作数是自定义类;
6.对运算符的重载,不应该失去其原有的意义;
答案选D
发表于 2019-10-17 15:38:46 回复(0)
什么叫改变运算符的操作个数
发表于 2021-01-28 15:47:56 回复(0)
优先级是系统调用,运算符的个数改变,传入的参数个数会改变,结合性 和有限及有关
发表于 2019-09-16 14:30:46 回复(0)

可以重新定义运算符的功能

发表于 2019-03-16 20:47:47 回复(0)
这题目不对啊,很明显选D嘛。例如不能将求模运算符(%)重载成使用一个操作数:
int x;
%  x;
发表于 2018-07-06 17:58:38 回复(0)

重载的基本条件不是参数的类型不同或者参数的个数不同吗 为什么答案A不对呢


发表于 2018-06-14 09:24:56 回复(1)