更多“为什么要对操作符进行重载?是否所有的操作符都可以重载?”相关问题
  • 第1题:

    在一个类中可以对一个操作符进行( )重载

    A.1种

    B.2种

    C.3种

    D.多种


    正确答案:D
    解析:重载运算符可以针对用户的各种新的数据类型按实际需要对原有运算符进行适当的改造,在一个类中可以有多种新的数据类型,所以一个操作符可以进行多种重载。

  • 第2题:

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

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

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

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

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


    正确答案:B

  • 第3题:

    重载赋值操作符时,应声明为 ______ 函数。

    A.友元

    B.虚

    C.成员

    D.多态


    正确答案:C

  • 第4题:

    已知一维数组类ARRAY的定义如下,ARRAY与普通一维数组区别是:其重载的运 算符[]要对下标是否越界进行检查。
    ARRAY∷;v[n](或*(v+n))

  • 第5题:

    为什么要对操作符进行重载?是否所有的操作符都可以重载?


    正确答案:通过对C++操作符进行重载,我们可以实现用C++的操作符按照通常的习惯来对某些类(特别是一些数学类)的对象进行操作,从而使得程序更容易理解。除此之外,操作符重载机制也提高了C++语言的灵活性和可扩充性,它使得C++操作符除了能对基本数据类型和构造数据类型进行操作外,也能用它们来对类的对象进行操作。
    不是所有的操作符都可以重载,因为“.”,“.*”,“::”,“?:”,sizeof这五个操作符不能重载。

  • 第6题:

    对于双目操作符,其重载函数带有()个参数,其中至少有一个为()的类型。


    正确答案:2;用户自定义

  • 第7题:

    获取变量名所具有的偏移地址的操作符是()


    正确答案:OFFSET

  • 第8题:

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


    正确答案:正确

  • 第9题:

    下面哪个操作符可以给一个变量赋值()。

    • A、%=
    • B、+=
    • C、=
    • D、全部都可以

    正确答案:D

  • 第10题:

    问答题
    为什么要对操作符进行重载?是否所有的操作符都可以重载?

    正确答案: 通过对C++操作符进行重载,我们可以实现用C++的操作符按照通常的习惯来对某些类(特别是一些数学类)的对象进行操作,从而使得程序更容易理解。除此之外,操作符重载机制也提高了C++语言的灵活性和可扩充性,它使得C++操作符除了能对基本数据类型和构造数据类型进行操作外,也能用它们来对类的对象进行操作。
    不是所有的操作符都可以重载,因为“.”,“.*”,“::”,“?:”,sizeof这五个操作符不能重载。
    解析: 暂无解析

  • 第11题:

    填空题
    重载一个运算符时,该运算符的()、()以及操作符的个数不允许改变。

    正确答案: 优先级,结合性
    解析: 暂无解析

  • 第12题:

    问答题
    操作符重载的形式有哪两种形式?这两种形式有什么区别?

    正确答案: 一种就是作为成员函数重载操作符;另一种就是作为全局(友元)函数重载操作符。
    当操作符作为类的非静态成员函数来重载时,由于成员函数已经有一个隐藏的参数this,因此对于双目操作符重载函数只需要提供一个参数,对于单目操作符重载函数则不需提供参数。
    当操作符作为全局函数来重载时,操作符重载函数的参数类型至少有一个为类、结构、枚举或它们的引用类型。而且如果要访问参数类的私有成员,还需要把该函数说明成相应类的友元。对于双目操作符重载函数需要两个参数,对于单目操作符重载函数则需要给出一个参数。操作符=、()、[]以及->不能作为全局函数来重载。
    另外,作为类成员函数来重载时,操作符的第一个操作数必须是类的对象,全局函数重载则否。
    解析: 暂无解析

  • 第13题:

    下列关于C++多态性的叙述,正确的是( )。

    A.C++语言的多态性分为编译时的多态性和运行时的多态性

    B.编译时的多态性可通过虚函数实现

    C.运行时的多态性可通过函数重载实现

    D.运行时的多态性可通过操作符重载实现


    正确答案:C
    解析:运行时的多态性可通过函数重载实现。

  • 第14题:

    假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如“m1=m2=m3”。重载操作符=的函数原型最好是( )。

    A.intoperaotor=(M)

    B.intoperator=(M&)

    C.Moperator=(M&)

    D.M&operator=(M)


    正确答案:D

  • 第15题:

    在一个类中可以对一个操作符进行 ______ 重载。

    A.1种

    B.2种以下

    C.3种以下

    D.多种


    正确答案:D

  • 第16题:

    一个类是(1)。在定义类时,将属性声明为private的目的是(2)。空白(2)处应选择()

    • A、实现数据隐藏,以免意外更改
    • B、操作符重载
    • C、实现属性值不可更改
    • D、实现属性值对类的所有对象共享

    正确答案:A

  • 第17题:

    下面有关java和c++的描述,错误的是()。

    • A、java是一次编写多处运行,c++是一次编写多处编译
    • B、c++和java支持多重承
    • C、Java不支持操作符重载,操作符重载被认为是c++的突出特征
    • D、java没有函数指针机制,c++支持函数指针

    正确答案:B

  • 第18题:

    获取变量名所具有的偏移地址的操作符是什么?


    正确答案:获取变量名所具有的偏移地址的操作符是OFFSET。

  • 第19题:

    重载一个运算符时,该运算符的()、()以及操作符的个数不允许改变。


    正确答案:优先级;结合性

  • 第20题:

    C++支持运算符重载,所有运算符都可以重载


    正确答案:错误

  • 第21题:

    填空题
    获取变量名所具有的偏移地址的操作符是()

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

  • 第22题:

    判断题
    所有的运算符都可以重载。
    A

    B


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

  • 第23题:

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

    通过运算符重载机制可以为c++语言扩充新的运算符

    B

    运算符重载的作用是使已有的运算符作用于类的对象

    C

    重载运算符的操作数类型可以全部为基本类型

    D

    所有运算符都可以被重载


    正确答案: C
    解析:
    运算符重载就是赋予已有的运算符多重含义。通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C++语言的扩充能力。运算符重载要注意以下3点:①不能重载的运算符包括“.”、“.*”、“->”、“::”、“?:”;②必须重载为成员函数的运算符包括“[]”,“()”,“->”,“=”;③在类成员函数中重载运算符是不允许返回引用的,会出现“返回局部变量的地址”警告。

  • 第24题:

    单选题
    一个类是(1)。在定义类时,将属性声明为private的目的是(2)。空白(2)处应选择()
    A

    实现数据隐藏,以免意外更改

    B

    操作符重载

    C

    实现属性值不可更改

    D

    实现属性值对类的所有对象共享


    正确答案: B
    解析: 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。类是对象的抽象,而对象是类的具体实例。在类中,可将数据声明为private、protected和public。声明为private的数据为私有的,只能被类中的成员函数调用,不能在类外访问,从而实现数据隐藏的目的,可防止意外更改。