单选题下列关于运算符重载的叙述中,正确的是(  )。A 通过运算符重载,可以定义新的运算符B 有的运算符只能作为成员函数重载C 若重载运算符+,则相应的运算符函数名是+D 重载一个二元运算符时,必须声明两个形参

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

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

B

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

C

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

D

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


相似考题
更多“单选题下列关于运算符重载的叙述中,正确的是(  )。A 通过运算符重载,可以定义新的运算符B 有的运算符只能作为成员函数重载C 若重载运算符+,则相应的运算符函数名是+D 重载一个二元运算符时,必须声明两个形参”相关问题
  • 第1题:

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

    A.运算符重载是多态性的一种表现

    B.C++中可以通过运算符重载创造新的运算符

    C.C++中所有运算符都可以作为非成员函数重载

    D.重载运算符时可以改变其结合性


    正确答案:A
    解析:进行运算符重载时,不能改变运算符的优先级和结合特性,也不能创造新的运算符,“=”、“[ ]”、“( )”运算符不能作为非成员函数重载。

  • 第2题:

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

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

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

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

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

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


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

  • 第3题:

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

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

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

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

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


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

  • 第4题:

    下列关于赋值运算符“=”重载的叙述中,正确的是

    A.赋值运算符只能作为类的成员函数重载

    B.默认的赋值运算符实现了“深层复制”功能

    C.重载的赋值运算符函数有两个本类对象作为形参

    D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符


    正确答案:A
    解析:=、[]、()、->以及所有的类型;转换运算符只能作为成员函数重载,A项正确。默认的赋值运算符只实现了浅层复制,B项错误。赋值运算符只能作为成员函数重载,形参表中只有一个参数,对应于第二操作数,C项错误。一个类中如果需要重载运算符 “=",通常也就需要定义自己特有的复制构造函数,反之亦然,故D项错误。

  • 第5题:

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

    A.::运算符不能重载

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

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

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


    正确答案:C
    解析: C是错误的,其余为规定。

  • 第6题:

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

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

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

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

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


    正确答案:A
    解析: 本题考查的知识点是:运算符的重载。运算符重载为成员函数时,形参个数一般为运算符的元数减1,因为此成员函数所属的对象可成为运算符的一个运算分量。重载为非成员函数时,形参个数一般和运算符元数相等。所以,二元运算符重载为非成员函数时,参数表中应有两个参数,运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符。一元运算符中,“-”取负、“++”增1、“--”减1等运算符均可重载为成员函数,C++中,有”.“.*”、“-> *”、“::”、“?:”五个运算符不能重载。

  • 第7题:

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

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

    B.运算符重载作为成员函数时,如果参数表中无参数,重载的是一元运算符

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

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


    正确答案:B

  • 第8题:

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

    • A、作为友元函数重载的1元运算符
    • B、作为成员函数重载的1元运算符
    • C、作为友元函数重载的2元运算符
    • D、作为成员函数重载的2元运算符

    正确答案:B

  • 第9题:

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

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

    B

    一元运算符号能作为成员函数重载

    C

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

    D

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


    正确答案: A
    解析:
    运算符重载为成员函数时,形参个数一般为运算符元数减1;重载为非成员函数时,形参个数一般和运算符元数相等。C++语言中,“.”、“.*”、“->”、“::”、“?:”五个运算符不能重载。

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

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

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

    B

    默认的赋值运算符实现了“深层复制”功能

    C

    重载的赋值运算符函数有两个本类对象作为形参

    D

    如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符


    正确答案: C
    解析:
    A项正确,赋值运算符“=”只能作为成员函数重载;B项错误,默认的运算符只实现了“浅层赋值”,若要实现“深层复制”,必须重载赋值运算符;C项错误,默认的赋值操作就是同类对象之间对应成员的逐一赋值,而常见的真正需要重载赋值运算符的情况是:类中包含指向动态空问的指针;D项错误,一个类如果需要重载运算符=,通常也就需要定义自己特有的复制构造函数,反之亦然。

  • 第13题:

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

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

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

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

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


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

  • 第14题:

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

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

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

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

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


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

  • 第15题:

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

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

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

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

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


    正确答案:A

  • 第16题:

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

    A.::运算符不能重载

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

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

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


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

  • 第17题:

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

    A.运算符重栽是多态性的一种表现

    B.C++中可以通过运算符重载创造新的运算符

    C.C++中所有运算符都可以作为非成员函数重载

    D.重载运算符时可以改变其结合性


    正确答案:A
    解析:所谓运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型,所以它不是创造新的运算符;三元运算符“?”“、”“:”点运算符、作用域等运算符都不可以重载;运算符重载不改变运算符的优先级和结合性,不改变其语法结构,也就是不能改变操作数的个数,即单目的只能重载为单目运算符,双目的只能重载为双目运算。

  • 第18题:

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

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

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

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

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


    正确答案:B

  • 第19题:

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

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

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

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

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


    正确答案:C

  • 第20题:

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


    正确答案:正确

  • 第21题:

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

    运算符重载是多态性的一种表现

    B

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

    C

    C++中所有运算符都可以作为非成员函数重载

    D

    重载运算符时可以改变其结合性


    正确答案: B
    解析:
    A项正确,C++中运算符重载是多态性的一种表现;B项错误,运算符重载是针对C++原有运算符进行的,不能通过重载创造出新的运算符;C项错误,“=”、“[]”、“->”及所有的类型转换运算符只能作为成员函数重载;D项错误,运算符重载不可改变其结合性、操作数个数和优先级。

  • 第22题:

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

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

    B

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

    C

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

    D

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


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

  • 第23题:

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

    ::运算符不能重载

    B

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

    C

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

    D

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


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