niusouti.com

单选题已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是(  )。A 这是运算符-的重载运算符函数B 这个函数所重载的运算符是一个一元运算符C 这是一个成员函数D 这个函数不改变类的任何数据成员的值

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

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

B

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

C

这是一个成员函数

D

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


相似考题
参考答案和解析
正确答案: C
解析:
运算符“-”有一元二元两种,在本题中它是一个二元运算符,不能更新对象的数据成员,也不能调用该类中没有const修饰的成员函数。
更多“单选题已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是(  )。A 这是运算符-的重载运算符函数B 这个函数所重载的运算符是一个一元运算符C 这是一个成员函数D 这个函数不改变类的任何数据成员的值”相关问题
  • 第1题:

    若以非成员函数形式,为类Bounce重载“!”运算符,其操作结果为一个bool型数据,则该运算符重载函数的原型是______。


    正确答案:bool operator!(Bounee);
    bool operator!(Bounee); 解析:单目运算符重载为非成员函数的一般格式为:
    返回类型operator操作符(形参)
    其中形参类型为类名。

  • 第2题:

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

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

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

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

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


    正确答案:A

  • 第3题:

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

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

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

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

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


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

  • 第4题:

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

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

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

    C.这是一个成员函数

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


    正确答案:B
    解析:重载的运算符是二元的。

  • 第5题:

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


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

  • 第6题:

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

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

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

    C.这是一个成员函数

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


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

  • 第7题:

    下列运算符重载函数的原型错误的是( )。

    A.Volume operator-(double,double);

    B.double Volume::operator-(double);

    C.Volume Volume::operator-(Volume);

    D.Volume operator-(Volume,Volume);


    正确答案:A
    解析:运算符重载也是一种函数重载。函数重载要求编译器能够唯一地确定调用一个函数时应该执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。也就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,无法实现重载。选项A重载的减号运算符与C++默认提供的两个double相减运算无法区别。

  • 第8题:

    下列说法正确的是 ______。

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

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

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

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


    正确答案:A

  • 第9题:

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

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

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

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

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


    正确答案:B

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

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

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

    B

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

    C

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

    D

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


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

  • 第13题:

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

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

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

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

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


    正确答案:C

  • 第14题:

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

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

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

    C.这是一个成员函数

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


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

  • 第15题:

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

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

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

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

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

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


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

  • 第16题:

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

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

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

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

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


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

  • 第17题:

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

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

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

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

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


    正确答案:C
    解析:运算符函数的函数名是由运算符前加关键字operator构成的,在声明运算符或调用运算符时都可以用这个名称。重载的运算符既可以作为类的成员函数,又可以作为类的友元函数或一般函数。所以选项C)是错误的。

  • 第18题:

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

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

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

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

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


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

  • 第19题:

    在下面的运算符重载函数的原型中,错误的是( )。

    A.Volume operator-(double,dpible);

    B.double Volume::operator-(double);

    C.Volume Volume::operator-(Volume);

    D.Volume operator-(Volume);


    正确答案:A
    解析: C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前面保留宇operator。运算符重载的定义格式:返回类型>operator运算符号>(参数说明);运算符”-”是二元运算符,A选项中重载函数的形参列表都是double,而重载函数的返回类型为类Volume,显然是错误的。

  • 第20题:

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

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

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

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

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


    正确答案:D

  • 第21题:

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

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

    正确答案:B

  • 第22题:

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

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

    B

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

    C

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

    D

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


    正确答案: A
    解析:
    运算符的操作数是以运算符函数的参数形式出现的。作为成员函数重载的运算符,第一操作数就是参数表中隐含的this指针所指向的对象,因此并不显式地出现在参数表中。作为非成员函数重载的运算符,所有的操作数都必须以参数的形式出现在参数表中。

  • 第23题:

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

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

    B

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

    C

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

    D

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


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