单选题将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。A Deer& operator--(int);B Deer operator--(Deer&,int);C friend Deer& operator--(Deer&);D friend Deer operator--(Deer&,int);

题目
单选题
将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。
A

Deer& operator--(int);

B

Deer operator--(Deer&,int);

C

friend Deer& operator--(Deer&);

D

friend Deer operator--(Deer&,int);


相似考题
更多“将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。”相关问题
  • 第1题:

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

    A ) :: 运算符不能重载

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

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

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


    正确答案:C

  • 第2题:

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

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

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

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

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


    正确答案:A

  • 第3题:

    已知在一个类体中包含如下函数原型:VOLUME OPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。

    A.这是运算符-的重载运算符函数

    B.这个函数所重载的运算符是一个一元运算符

    C.这是一个成员函数

    D.这个函数不改变类的任何数据成员的值


    正确答案:B
    解析: 本题考核运算符的重载。题中语句为运算符“-”是一个二元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。

  • 第4题:

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

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

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

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

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


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

  • 第5题:

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

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

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

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

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

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


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

  • 第6题:

    多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符[]只能作为类的______函数重载。


    正确答案:成员
    成员 解析:此题考查的是运算符重载。在C++中,“=”、“[]”、“()”、“->”以及所有的类型转换符只能作为成员函数重载,不能重载为友元函数。

  • 第7题:

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(Data);SX

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+(Data);

    B.Dataoperator+(Data);

    C.Data+operator(Data);

    D.operator+(Data.Data);


    正确答案:B
    B:【解析】重载运算符的函数一般格式如下:函数类型0perator运算符名称(形参列表)因此选B。

  • 第8题:

    为类Matrix重载下列运算符号时,只能作为Matrix类成员函数重载的运算符是( )。

    A.+

    B.=

    C.<<

    D.++


    正确答案:B
    B。【解析】赋值运算符只能作为重载函数的成员函数,其他运算符都可以作为友元函数重载。

  • 第9题:

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

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

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

    C.运算符函数只能定义为类的成员函数

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


    正确答案:C
    C。【解析】该题主要考查运算符函数的定义及运算符重载时应注意事项,运算符重载是函数重载的一种特殊情况。

  • 第10题:

    将前缀运算符“一一”重载为非成员函数,下列原型中,能正确用于类中说明的是( )。

    A.Deer&operator一一{int};

    B.Decroperator一一(Decr&,int);

    C.friendDeer&cperator一一(Deer&);

    D.friendDeeroperacor一一(Deer&,int);


    正确答案:C
    C。【解析】把“--”运算符重载为非成员(友元)函数格式:“friend<返回类型>operator--”是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

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

    ::运算符不能重载

    B

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

    C

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

    D

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


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

  • 第13题:

    ( 14 )将前缀运算符 “ -- ” 重载为非成员函数,下列原型中,能正确用于类中说明的是

    A ) Decr& operator --(int);

    B ) Decr operator --( Decr&,int);

    C ) friend Decr& operator --(Decr&);

    D ) frlend Decr operator --(Decr&,int);


    正确答案:C

  • 第14题:

    ( 33 )将运算符 “ + ” 重载为非成员函数,下列原型声明中,错误的是

    A ) MyClock operator + (MyClock,long);

    B ) MyClock operator + (MyClock,MyClock);

    C ) MyClock operator + (long,long);

    D ) MyClock operator + (long,MyClock);


    正确答案:C

  • 第15题:

    将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是( )。

    A.Decr&operator--{int};

    B.Decroperator--(Decr&,int);

    C.friend Decr& cperator--(Decr&);

    D.friend Decr operacor--(Decr&,int);


    正确答案:C
    解析:把“--”运算符重载为非成员(友元)函数格式:friend<返回类型>operator--()是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。

  • 第16题:

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

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

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

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

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


    正确答案:AC

  • 第17题:

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

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

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

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

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


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

  • 第18题:

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

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

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

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

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


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

  • 第19题:

    将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。

    A.MyClockoperator+(MyClock,long);

    B.MyClockoperator+(MyClock,MyCloek);

    C.MyCloekoperator+(long,long);

    D.MyClockoperator+(long,MyCloek):


    正确答案:C
    C。【解析】非成员函数一般都是友元函数,相比成员函数第一个操作数是对象本身以thiS指针的形式隐含在参数列表中,非成员函数调用必须显式的列出参数;选项C中没有MyClock类型,故选C。

  • 第20题:

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

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

    A.不合法的运算符

    B.一元运算符

    C.无操作数的运算符

    D.二元运算符


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

  • 第21题:

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

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

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

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

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


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

  • 第22题:

    将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是( )。

    A.DeCr&operator--(int);

    B.DeCr operator--(DeCr&,int);

    C.friend DeCr&operator--(DeCr&);

    D.friend DeCr operator--(DeCr&,int);


    正确答案:D
    非成员函数重载用友元函数的形式实现,“--”运算符重载分为前置和后置两种重载方式。用友元函数来实现“--”运算符的重载时,前置“--”运算符的重载的一般格式为:friendoperator--(ClassName&);后置++运算符的重载的一般格式为:friendoperator--(ClassName&,int)。所以答案为D。

  • 第23题:

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

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

    B

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

    C

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

    D

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


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

  • 第24题:

    单选题
    已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是(  )。
    A

    这是运算符-的重载运算符函数

    B

    这个函数所重载的运算符是一个一元运算符

    C

    这是一个成员函数

    D

    这个函数不改变类的任何数据成员的值


    正确答案: C
    解析:
    运算符“-”有一元二元两种,在本题中它是一个二元运算符,不能更新对象的数据成员,也不能调用该类中没有const修饰的成员函数。