itgle.com

在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。A.该运算符是一个单目运算符。B.该运算符函数有一个隐含的参数this。C.该运算符函数是类的成员函数。D.该运算符函数是类的友元函数。

题目
在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。

A.该运算符是一个单目运算符。

B.该运算符函数有一个隐含的参数this。

C.该运算符函数是类的成员函数。

D.该运算符函数是类的友元函数。


相似考题
更多“在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。 ”相关问题
  • 第1题:

    ( 24 )将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是

    A )不合法的运算符

    B )一元运算符

    C )无操作数的运算符

    D )二元运算符


    正确答案:B

  • 第2题:

    如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是

    A.一元运算符

    B.二元运算符

    C.选项A)和选项B)都可能

    D.重载错误


    正确答案:D

  • 第3题:

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

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

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

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

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


    参考答案:B

  • 第4题:

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


    正确答案:0 1
    0 1

  • 第5题:

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

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

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

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

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


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

  • 第6题:

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是

    A.不合法的运算符

    B.一元运算符

    C.无操作数的运算符

    D.二元运算符


    正确答案:B
    解析:运算符重载函数仅有一个参数,当重载为成员函数时,双目运算符仅有一个参数。对单目运算符,重载为成员函数时,不能再显式说明参数。重载为成员函数时,总是隐含了一个参数,该参数是this指针。this指针是指向调用该成员函数对象的指针。所以本题选择一元运算符。

  • 第7题:

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是

    A.不合法的运算符

    B.不合法的运算符

    C.无操作数的运算符

    D.二元运算符


    正确答案:B
    解析:当运算符重载为成员函数时,如果函数参数表中没有参数,则表明该重载为单目运算符,操作数就为该对象本身;如果函数参数表中有一个参数,则表示该重载为双目运算符,另外一个操作数为该对象本身。

  • 第8题:

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

    A.一元非成员运算符

    B.一元成员运算符

    C.二元非成员运算符

    D.二元成员运算符


    正确答案:B
    解析:当把运算符重载为成员函数时,第1操作数就是对象本身,即第1操作数仅以this指针的形式隐含在参数表中。因此,对于一元运算符的参数表是空的:对于二元运算符的参数表中只有一个参数,它代表第2操作数。当把运算符重载为非成员函数时,由于没有隐含this指针,因此所有的操作数必须出现在参数表中。因此。对于一元运算符,参数表中有一个参数,代表那个的操作数;对于二元运算符,参数表中有两个参数,分别代表第1和第2操作数。

  • 第9题:

    下列关于运算符函数的叙述中,错误的是

    A.运算符函数的名称总是以operator为前缀

    B.运算符函数的参数可以是对象

    C.运算符函数的参数可以是对象

    D.在表达式中使用重载的运算符相当于调用运算符重载函数


    正确答案:C
    解析:运算符函数可以重载为成员函数,也可以重载为非成员函数,如重载为友元函数。

  • 第10题:

    在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的()。


    正确答案:成员函数

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

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

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

    B

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

    C

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

    D

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


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

  • 第13题:

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

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

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

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

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


    正确答案:A

  • 第14题:

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

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

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

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

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


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

  • 第15题:

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

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

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

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

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

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


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

  • 第16题:

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

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

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

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

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


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

  • 第17题:

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

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

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

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

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


    正确答案:A

  • 第18题:

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

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

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

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

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


    正确答案:B
    解析:一元运算符可以作为全局函数重载,所以选项A) 错误。二元运算符重载为非成员函数时,参数表中有两个参数,所以选项C)也错误。C++中有些运算符不能被重载,如域运算符(::),条件运算符(?:)等,具体哪些运算符不能被重载与编译器有关,所以选项D) 错误。

  • 第19题:

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是( )。 A.不合法的运算符

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是( )。

    A.不合法的运算符

    B.一元运算符

    C.无操作数的运算符

    D.二元运算符


    正确答案:B
    B。【解析】一元或二元运算符函数作为成员函数时,第一操作数就是对象本身,并不出现在参数表中,即第一操作数仅以this指针的形式隐含于参数表中,因此对于一元运算符参数表是空的;而对于二元运算符参数表中只有一个参数,它代表第二操作数。

  • 第20题:

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

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

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

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

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


    正确答案:A
    解析:成员函数和友元函数可重载的运算符有些相同的,有些是不同的,友元函数没有this指针,二者重载相同运算符时的参数肯定是不同的,成员函数重载运算符时都必须声明为公有的。注意:友元函数的声明关健字是friend。

  • 第21题:

    下列说法正确的是 ______。

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

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

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

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


    正确答案:A

  • 第22题:

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

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

    B

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

    C

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

    D

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


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

  • 第23题:

    填空题
    在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的()。

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