单选题关于运算符重载,下列表述中正确的是(  )。A C++已有的任何运算符都可以重载B 运算符函数的返回类型不能声明为基本数据类型C 在类型转换符函数的定义中不需要声明返回类型D 可以通过运算符重载来创建C++中原来没有的运算符

题目
单选题
关于运算符重载,下列表述中正确的是(  )。
A

C++已有的任何运算符都可以重载

B

运算符函数的返回类型不能声明为基本数据类型

C

在类型转换符函数的定义中不需要声明返回类型

D

可以通过运算符重载来创建C++中原来没有的运算符


相似考题
更多“单选题关于运算符重载,下列表述中正确的是(  )。A C++已有的任何运算符都可以重载B 运算符函数的返回类型不能声明为基本数据类型C 在类型转换符函数的定义中不需要声明返回类型D 可以通过运算符重载来创建C++中原来没有的运算符”相关问题
  • 第1题:

    下列关于运算符重载的叙述中,错误的是( )。

    A.有的运算符可以作为非成员函数重载

    B.所有的运算符都可以通过重载而被赋予新的含义

    C.不得为重载的运算符函数的参数设置默认值

    D.有的运算符只能作为成员函数重载


    正确答案:B
    解析:此题考查的是运算符的重载。C++中运算符重载是多态性的一种表现,在C++语言中,“.”、“.*”、“->”、“::”、“?:”这5个运算符不能重载,所以选项B)错误。由于很多符号是一元运算符和二元运算符公用的,为了避免含混,不得为重载的运算符函数设置默认值,调用时也就不得省略实参。其中“=”、“[]”、“->”及所有的类型转换运算符只能作为成员函数重载:如果允许第一操作数不是同类对象,而是其他数据类型,则只能作为非成员函数重载。

  • 第2题:

    ( 33 )下列关于运算符重载的描述中,错误的是

    A ) :: 运算符不能重载

    B )类型转换运算符只能作为成员函数重载

    C )将运算符作为非成员函数重载时必须定义为友元

    D )重载 [] 运算符应完成 “ 下标访问 ” 操作


    正确答案:C

  • 第3题:

    下列关于运算符重载的描述中,错误的是( )。

    A.可以通过运算符重载在C++中创建新的运算符

    B.赋值运算符只能重载为成员函数

    C.运算符函数重载为类的成员函数时,第一操作就是该类对象

    D.重载类型转换运算符时不需要声明返回类型


    正确答案:A
    解析:运算符的重载是针对C++中原有运算符进行的,不能通过重载创造新的运算符。

  • 第4题:

    下列关于运算符重载的叙述中,正确的是

    A.通过运算符重载,可以定义新的运算符

    B.有的运算符只能作为成员函数重载

    C.若重载运算符+,则相应的运算符函数名是+

    D.重载一个二元运算符时,必须声明两个形参


    正确答案:B
    解析:一般运算符重载可以采用成员函数方式或友元方式。但成员运算符(.),指向成员的指针,作用域运算符(::),条件运算符(?:)只能采用成员函数方式;重载运算符(+),对应的运算符函数名是operator+();重载一个二元运算符时,只需声明一个形参,左操作数毋须用参数输入,而是通过隐含的this指针传入。

  • 第5题:

    关于运算符重载的表述中正确的是( )。

    A.C++已有的任何运算符都可以重载

    B.运算符函数的返回类型不能声明为基本数据类型

    C.在类型转换符函数的定义中不需要声明返回类型

    D.可以通过运算符重载来创建C++中原来没有的运算符


    正确答案:C
    解析: 此题考查的是运算符的有关概念。运算符重载是针对C++原有运算符进行的,不能通过重载创造新的运算符:除了“.”、“.*”、“->*”、“∷”、“?:”这5个运算符之外,其他运算符都可以重载;在类型转换符函数的定义中不需要声明返回类型,所以选项C)正确;运算符函数的返回值类型可以声明为基本数据类型。

  • 第6题:

    下面关于运算符重载中正确的是( )

    A.运算符函数的返回类型不能声明为基本数据类型

    B.C++的所有运算符都可以重载

    C.在类型转换符函数的定义中不需要声明返回类型

    D.通过运算符重载可以定义C++中没有的运算符


    正确答案:C
    解析:运算符函数的返回类型可以声明为基本数据类型,故选项A) 错误。“.、.*、->*、::、?”这五个运算符不可以重载,故选项B) 错误。在重载类型转换符时,由于运算符本身已经表示出返回值类型,因此不需要返回值类型的声明。运算符重载是针对C++中已有的运算符进行的,不可能通过重载创造出新的运算符,故选项D) 错误。

  • 第7题:

    关于运算符重载,下列说法正确的是( )。

    A.所有的运算符都可以重载。

    B.通过重载,可以使运算符应用于自定义的数据类型。

    C.通过重载,可以创造原来没有的运算符。

    D.通过重载,可以改变运算符的优先级。


    正确答案:B

  • 第8题:

    下面关于运算符重载中正确的是( )。

    A.运算符函数的返回类型不能声明为基本数据类型

    B.C 的所有运算符都可以重载

    C.在类型转换符函数的定义中不需要声明返回类型

    D.通过运算符重载可以定义C 中没有的运算符


    正确答案:C

  • 第9题:

    单选题
    关于运算符重载,下列表述中正确的是(  )。
    A

    C++已有的任何运算符都可以重载

    B

    运算符函数的返回类型不能声明为基本数据类型

    C

    在类型转换符函数的定义中不需要声明返回类型

    D

    可以通过运算符重载来创建C++中原来没有的运算符


    正确答案: A
    解析:
    A项错误,C++语言规定,“.”、“.*”、“->”、“::”和“?:”这五个运算符不能被重载;B项错误,运算符函数的返回类型由该运算符所组成的表达式的值的类型来决定;C项正确,在重载类型转换符时,由于运算符本身已经表示出了返回值类型,因此不需要返回值类型的声明;D项错误,运算符重载是针对原有运算符,并不能通过重载创造出新的运算符。

  • 第10题:

    单选题
    运算符重载是对已有的运算符赋予多重含义,因此(  )。
    A

    可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义

    B

    可以改变一个已有运算符的优先级和操作数个数

    C

    只能重载C++中已经有的运算符,不能定义新运算符

    D

    C++中已经有的所有运算符都可以重载


    正确答案: A
    解析:
    运算符重载是针对C++语言原有的运算符进行的,并不能创造新的运算符。不是所有的运算符都可以重载,如运算符“.”、“::”、“?:”等都不能重载。

  • 第11题:

    单选题
    下列关于运算符重载的描述中,错误的是(  )。
    A

    可以通过运算符重载在C++中创建新的运算符

    B

    赋值运算符只能重载为成员函数

    C

    运算符函数重载为类的成员函数时,第一操作数是该类对象

    D

    重载类型转换运算符时不需要声明返回类型


    正确答案: B
    解析:
    运算符重载是针对C++中原有运算符进行的,不能通过重载创造新的运算符。

  • 第12题:

    单选题
    下列关于运算符重载的叙述中,正确的是(  )。
    A

    通过运算符重载机制可以为c++语言扩充新的运算符

    B

    运算符重载的作用是使已有的运算符作用于类的对象

    C

    重载运算符的操作数类型可以全部为基本类型

    D

    所有运算符都可以被重载


    正确答案: C
    解析:
    运算符重载就是赋予已有的运算符多重含义。通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C++语言的扩充能力。运算符重载要注意以下3点:①不能重载的运算符包括“.”、“.*”、“->”、“::”、“?:”;②必须重载为成员函数的运算符包括“[]”,“()”,“->”,“=”;③在类成员函数中重载运算符是不允许返回引用的,会出现“返回局部变量的地址”警告。

  • 第13题:

    ( 24 )下列关于运算符重载的描述中,正确的是

    A )运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符

    B )一元运算符只能作为成员函数重载

    C )二元运算符重载为非成员函数时,参数表中有一个参数

    D ) C++ 中可以重载所有的运算符


    正确答案:A

  • 第14题:

    ( 24 )下列关于运算符重载的描述中,错误的是

    A )可以通过运算符重载在 C++ 中创建新的运算符

    B )赋值运算符只能重载为成员函数

    C )运算符函数重载为类的成员函数时,第一操作数是该类对象

    D )重载类型转换运算符时不需要声明返回类型


    正确答案:A

  • 第15题:

    下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符

    下列关于运算符重载的描述中,错误的是( )。

    A.可以通过运算符重载在C++中创建新的运算符

    B.赋值运算符只能重载为成员函数

    C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象

    D.重载类型转换运算符时不需要声明返回类型


    正确答案:A
    A。【解析】运算符的重载是针对C++中原有运算符进行的,不能通过重载创造新的运算符。

  • 第16题:

    下列关于运算符重载的描述中,错误的是

    A.::运算符不能重载

    B.类型转换运算符只能作为成员函数重载

    C.将运算符作为非成员函数重载时必须定义为友元

    D.重载[]运算符应完成“下标访问”操作


    正确答案:D
    解析:重载[]运算符不一定要完成“下标访问”操作,可以在其运算符函数中执行任意允许的操作。

  • 第17题:

    运算符重载是对已有的运算符赋予多重含义,因此( )。

    A.可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义

    B.可以改变一个已有运算符的优先级和操作数个数

    C.只能重载C++中已经有的运算符,不能定义新运算符

    D.C++中已经有的所有运算符都可以重载


    正确答案:C
    解析:此题考查的是运算符的有关概念。运算符重载是针对C++原有运算符进行的,不能通过重载创造新的运算符;除了“.”、“.*”、“->*”、“::”、“?:”这5个运算符之外,其他运算符都可以重载。运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构。

  • 第18题:

    运算符重载是对已有的运算符赋予多重的含义,所以( )。

    A.能够对基本类型数据(如double),重新定义"+"运算符的含义

    B.只能重载C++中己经有的运算符,不能重新定义新运算符

    C.能够改变一个已有运算符的优先级和操作数个数

    D. C++中现有的所有运算符都可以重载


    正确答案:B
    解析:C++在重载运算符时,必须符合以下的条件:
      ①不可以重载内置的C++数据类型(如int,double等类型)运算符的含义;
      ②不可以定义C++中没有的运算符;
      ⑨不可以改变重载运算符的优先级与操作数的个数;
      ④有些运算符不能被重载,例如域运算符(::),条件运算符(?:)等,具体哪些运算符不能被重载与编译器有关。

  • 第19题:

    关于运算符重载,下列表述中正确的是( )。

    A.C 已有的任何运算符都可以重载

    B.运算符函数的返回类型不能声明为基本数据类型

    C.在类型转换符函数的定义中不需要声明返回类型

    D.可以通过运算符重载来创建C 中原来没有的运算符


    正确答案:C

  • 第20题:

    下列描述中,关于c++说法正确的是()

    • A、所有的运算符号都可以重载。不能重载的运算符只有4个,作用域运算符:’::’,成员解引用运算符:’.*’,成员访问运算符:’.’,条件运算符:’?:’
    • B、基类类型的指针可以指向子类,子类类型的指针也可以指向基类
    • C、可以在类的构造函数中对静态数据成员进行初始化
    • D、动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数

    正确答案:D

  • 第21题:

    单选题
    下列关于运算符重载的叙述中,错误的是(  )。
    A

    有的运算符可以作为非成员函数重载

    B

    所有的运算符都可以通过重载而被赋予新的含义

    C

    不得为重载的运算符函数的参数设置默认值

    D

    有的运算符只能作为成员函数重载


    正确答案: A
    解析:
    运算符重载针对C++中原有运算符进行,不能通过重载创造新的运算符。C++规定,运算符“.”、“.*”、“->”、“::”、“?:”不能重载。

  • 第22题:

    单选题
    下列描述中,关于c++说法正确的是()
    A

    所有的运算符号都可以重载。不能重载的运算符只有4个,作用域运算符:’::’,成员解引用运算符:’.*’,成员访问运算符:’.’,条件运算符:’?:’

    B

    基类类型的指针可以指向子类,子类类型的指针也可以指向基类

    C

    可以在类的构造函数中对静态数据成员进行初始化

    D

    动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    下列关于运算符重载的描述中,错误的是(  )。
    A

    ::运算符不能重载

    B

    类型转换运算符只能作为成员函数重载

    C

    将运算符作为非成员函数重载时必须定义为友元

    D

    重载[]运算符应完成“下标访问”操作


    正确答案: A
    解析:
    运算符重载是针对C++中原有运算符进行的,不可能通过重载创造出新的运算符,C++规定,运算符“.”、“.*”、“->”、“::”、“?:”不能重载。作为非成员函数重载的运算符,所有的操作数都必须以参数的形式出现在参数表中,而不必将其定义为友元。

  • 第24题:

    单选题
    下列关于运算符重载的叙述中,正确的是(  )。
    A

    通过运算符重载,可以定义新的运算符

    B

    有的运算符只能作为成员函数重载

    C

    若重载运算符+,则相应的运算符函数名是+

    D

    重载一个二元运算符时,必须声明两个形参


    正确答案: C
    解析:
    A项错误,运算符重载只是赋予已有的运算符多重含义,并不是定义新的运算符;B项正确,C++中,“=”、“[]”、“()”、“->”以及所有的类型转换符只能作为成员函数重载;C项错误,运算符函数的函数名是在运算符前加上关键字operator;D项错误,运算符重载为成员函数时,形参个数一般为运算符元数减1;重载为非成员函数时,形参个数一般和运算符元数相等。