niusouti.com
更多“在Python中定义类时,运算符重载是通过重写特殊方法实现的。例”相关问题
  • 第1题:

    在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了__mul__()方法即可支持该类对象的**运算符。

    此题为判断题(对,错)。


    正确答案:×

  • 第2题:

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

    A.运算符重载可以改变操作数的个数

    B.运算符重载可以改变操作数的优先级

    C.运算符重载可以改变运算符的结合性

    D.运算符重载可以使运算符实现特殊功能


    正确答案:D
    解析: C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字opera- tor。C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能。但是用户重新定义运算特,不改变原运算符的操作符个数、优先级和结合性。同时运算符重载后,也不改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目运算符只能重载为双目运算符。

  • 第3题:

    类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。()


    参考答案:正确

  • 第4题:

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

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

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

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

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

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


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

  • 第5题:

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

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

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

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

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


    正确答案:C
    解析:运算符函数的返回类型可以声明为基本数据类型,故选项A) 错误。“.、.*、->*、::、?”这五个运算符不可以重载,故选项B) 错误。在重载类型转换符时,由于运算符本身已经表示出返回值类型,因此不需要返回值类型的声明。运算符重载是针对C++中已有的运算符进行的,不可能通过重载创造出新的运算符,故选项D) 错误。

  • 第6题:

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

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

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

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

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


    正确答案:C

  • 第7题:

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


    正确答案:正确

  • 第8题:

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

    • A、运算符重载可以改变操作数的个数
    • B、运算符重载可以改变运算符的优先级
    • C、运算符重载可以改变运算符的结合性
    • D、运算符重载可以使运算符实现特殊功能

    正确答案:D

  • 第9题:

    填空题
    在Python中定义类时,与运算符“//”对应的特殊方法名为()。

    正确答案: floordiv()
    解析: 暂无解析

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

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

    ::运算符不能重载

    B

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

    C

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

    D

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


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

  • 第12题:

    判断题
    运算符重载是通过函数来实现的,定义运算符重载函数时,函数名中要使用关键字operator。
    A

    B


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

  • 第13题:

    在Python定义类时,与运算符“**”对应的特殊方法名为_____________。


    正确答案:__pow__()

  • 第14题:

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

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

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

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

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


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

  • 第15题:

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

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

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

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

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


    正确答案:AC

  • 第16题:

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

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

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

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

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


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

  • 第17题:

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

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

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

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

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


    正确答案:B

  • 第18题:

    运算符重载实际上通过函数来重新定义运算符的功能,运算符重载的功能直接通过函数调用是否可以?


    正确答案: 运算符重载实际上通过函数来重新定义运算符的功能,运算符重载的功能可以直接通过函数调用。

  • 第19题:

    运算符重载是通过函数来实现的,定义运算符重载函数时,函数名中要使用关键字operator。


    正确答案:正确

  • 第20题:

    判断题
    在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了mul()方法即可支持该类对象的**运算符。
    A

    B


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

  • 第21题:

    填空题
    在Python定义类时,与运算符“**”对应的特殊方法名为()。

    正确答案: pow()
    解析: 暂无解析

  • 第22题:

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

    B


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

  • 第23题:

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

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

    B

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

    C

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

    D

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


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