更多“27、运算符[]只能用成员运算符来重载,不能用友元运算符来重载。”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:A

  • 第2题:

    在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。

    A、作为友元函数重载的1元运算符

    B、作为成员函数重载的1元运算符

    C、作为友元函数重载的2元运算符

    D、作为成员函数重载的2元运算符


    参考答案:B

  • 第3题:

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

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

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

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

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

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


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

  • 第4题:

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

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

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

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

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


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

  • 第5题:

    下面关于成员函数重载运算符和友元函数重载运算符相同的是( )。

    A.成员函数和友元函数可重载的运算符是不相同的

    B.成员函数和友元函数重载运算符时都需要用到this指针

    C.成员函数和友元函数重载运算符时都需要声明为公有的

    D.成员函数和友元函数重载运算符时的参数可能是相同的


    正确答案:A

  • 第6题:

    下列运算符不能用友元函数重载的是( )。

    A.+

    B.=

    C.*

    D.<<


    正确答案:B

  • 第7题:

    下列说法正确的是 ______。

    A.一元运算符重载为成员函数没有参数

    B.一元运算符重载为友员函数没有参数

    C.二元运算符重载为友员函数有一个参数

    D.二元运算符重载为成员函数有二个参数


    正确答案:A

  • 第8题:

    运算符++,=,+和[]中,只能用成员函数重载的运算符是()

    • A、+和=
    • B、[]和后置++
    • C、=和[]
    • D、前置++和[]

    正确答案:C

  • 第9题:

    在下列运算符中,要求用友元函数重载的运算符是()

    • A、=
    • B、[]
    • C、<<
    • D、()

    正确答案:C

  • 第10题:

    运算符[ ]只能用()运算符来重载,不能用友元运算符来重载。


    正确答案:成员

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

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

    ::运算符不能重载

    B

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

    C

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

    D

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


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

  • 第13题:

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

    A.运算符重载不能改变运算符的操作数个数

    B.运算符重载不能改变运算符的优先级

    C.运算符重载不能改变运算符的结合性

    D.运算符重载能改变对预定义类型数据的操作方式


    正确答案:D
    解析: 本题考查C++语言中操作符重载的概念。运算符重载的关键字是operator。运算符重载的规则是重载时不能改变运算符的操作数个数,不能改变运算符的优先级,不能改变运算符的结合性,不能改变对预定义类型数据的操作方式。

  • 第14题:

    下面关于自定义类的运算符重载的说法中,正确的是()。

    A.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

    B.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数

    C.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员

    D.所有运算符都可以以类友元形式进行重载


    正确答案:AC

  • 第15题:

    C++在重载运算将中,如用成员函数重载一元运算符参数表中需要______个参数,如用友元函数重载一元运算符参数表中需要______个参数。


    正确答案:0 1
    0 1

  • 第16题:

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

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

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

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

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


    正确答案:C
    解析:C++进行运算符重载时,“.”、“::”、“*”、“sizeof”等运算符不能重载,单目运算符和双目运算符既可以作为成员函数重载,也可以作为友元函数重载。

  • 第17题:

    ( )既可重载为一元运算符,又可重载为二元运算符。A.“*”B.“=”C.“=”和“*”SXB

    ( )既可重载为一元运算符,又可重载为二元运算符。

    A.“*”

    B.“=”

    C.“=”和“*”

    D.“*”和“*++”


    正确答案:A
    A。【解析】本题考查的是运算符的有关概念。“*”是二元运算符,既可用于间接访问也可用于两数相乘;而“=”和“*++”都是一元运算符。

  • 第18题:

    下列运算符只能用友元函数重载的是

    A.< < , > >

    B.new,delete

    C.++,--

    D.,


    正确答案:A
    解析:C++语言中运算符重载中只能用友元函数重载的运算符是和>>。

  • 第19题:

    类的运算符重载采用友元函数或成员函数方式,其函数参数是一样的。


    正确答案:错误

  • 第20题:

    下列哪一个运算符不能够被类所重载()。

    • A、“.”成员访问运算符
    • B、“*”成员指针访问运算符
    • C、“::”域运算符
    • D、“?:”条件运算符
    • E、“=”赋值运算符

    正确答案:E

  • 第21题:

    多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。


    正确答案:正确

  • 第22题:

    填空题
    运算符[ ]只能用()运算符来重载,不能用友元运算符来重载。

    正确答案: 成员
    解析: 暂无解析

  • 第23题:

    单选题
    在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。
    A

    作为友元函数重载的1元运算符

    B

    作为成员函数重载的1元运算符

    C

    作为友元函数重载的2元运算符

    D

    作为成员函数重载的2元运算符


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

  • 第24题:

    单选题
    在下列运算符中,要求用友元函数重载的运算符是()
    A

    =

    B

    []

    C

    <<

    D

    ()


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