itgle.com
更多“类成员函数的重载、覆盖和隐藏区别?”相关问题
  • 第1题:

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


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

  • 第2题:

    运算符“+”允许重载为类成员函数,或者非成员函数。若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为【 】 函数。


    正确答案:非成员
    非成员 解析:“+”是一个二元运算符,当它作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。而当“+”作为非成员函数重载时,两个操作数都出现在形参表中。

  • 第3题:

    运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出( )。

    A.“/”和“++”都是作为成员函数重载的

    B.“/”和“++”都是作为非成员函数重载的

    C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的

    D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的


    正确答案:C
    解析:运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者operator*(y,z);另一种是通过运算符构成表达式,即y*z。因为“++”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“抖”时必须多一个虚拟参数int。

  • 第4题:

    在重载运算符函数时,下面运算符必须重载为类的成员函数的是( )。

    A.+

    B.-

    C.++

    D.->


    正确答案:D
    解析:=(),[],->运算符不能够重载为类的友元函数。

  • 第5题:

    在重载运算符函数时,下面( )。运算符必须重载为类成员函数形式。

    A.+

    B.-

    C.++

    D.->


    正确答案:D

  • 第6题:

    类的运算符重载采用友元函数或成员函数方式,其函数参数是一样的。


    正确答案:错误

  • 第7题:

    关于重载(overload)与覆盖(override)的说法正确的是()。

    • A、如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的函数名,那么称子类对父类的f(x)进行了覆盖
    • B、如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的基调,那么称子类对父类的f(x)进行了重载
    • C、重载导致多态,覆盖与多态无关
    • D、覆盖由动态链接实现,重载由静态链接实现。

    正确答案:D

  • 第8题:

    下面有关派生类的描述中,不正确的是()

    • A、  派生类可以继承基类的构造函数
    • B、  派生类可以隐藏和重载基类的成员
    • C、  派生类不能访问基类的私有成员
    • D、  派生类只能有一个直接基类

    正确答案:A

  • 第9题:

    运算符重载只可以是类的成员函数和友元函数,不可以是普通函数。


    正确答案:正确

  • 第10题:

    单选题
    下面有关派生类的描述中,不正确的是()
    A

      派生类可以继承基类的构造函数

    B

      派生类可以隐藏和重载基类的成员

    C

      派生类不能访问基类的私有成员

    D

      派生类只能有一个直接基类


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

  • 第11题:

    单选题
    关键字supper的作用是()
    A

    用来访问父类被隐藏的成员变量

    B

    用来调用父类中被重载的方法

    C

    用来调用父类的构造函数

    D

    以上都是


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

  • 第12题:

    判断题
    运算符重载只可以是类的成员函数和友元函数,不可以是普通函数。
    A

    B


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

  • 第13题:

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

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

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

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

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


    正确答案:A

  • 第14题:

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

    A.+

    B.=

    C.<<

    D.++


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

  • 第15题:

    下列关于类中成员函数特征的描述中错误的是( )。

    A.类的成员函数一定是内联函数

    B.类的成员函数可以重载

    C.成员函数可以设置参数的默认值

    D.成员函数可以是静态的


    正确答案:A

  • 第16题:

    前置自增运算符++重载为类的友元函数的形式为【 】,重载为类的成员函数的形式为【 】。 (设类为A,类对象为a)


    正确答案:friend A operator++(A &) a. operator++().
    friend A operator++(A &) a. operator++().

  • 第17题:

    一个双目运算符作为类的成员函数重载时,重载函数的参数表中有【 】个参数。


    正确答案:√
    1 解析:双目运算符(即二元运算符),作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。

  • 第18题:

    关键字supper的作用是()

    • A、用来访问父类被隐藏的成员变量
    • B、用来调用父类中被重载的方法
    • C、用来调用父类的构造函数
    • D、以上都是

    正确答案:D

  • 第19题:

    一个单目运算符作为类的成员函数重载时有()个参数;如果作为独立函数重载,则有()个参数。


    正确答案:0;1

  • 第20题:

    运算符重载使用成员函数方法和友元函数方法是否都可以?并且是没有区别的吗?


    正确答案:两种方都法可以。有区别,参数个数不同。

  • 第21题:

    ()是指把某些数据成员和方法用类包裹对外隐藏起来,以免被不正当的存取。

    • A、封装
    • B、包裹
    • C、隐藏
    • D、重载

    正确答案:A

  • 第22题:

    问答题
    运算符重载使用成员函数方法和友元函数方法是否都可以?并且是没有区别的吗?

    正确答案: 两种方都法可以。有区别,参数个数不同。
    解析: 暂无解析

  • 第23题:

    填空题
    一个单目运算符作为类的成员函数重载时有()个参数;如果作为独立函数重载,则有()个参数。

    正确答案: 0,1
    解析: 暂无解析