参考答案和解析
错误
更多“7、基类中的运算符重载函数不能定义为纯虚函数。”相关问题
  • 第1题:

    重载的流运算符函数经常定义为类的【 】函数。


    正确答案:友元
    友元 解析:参见友元函数的定义。

  • 第2题:

    下列关于纯虚函数的描述中,正确的是( )。

    A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

    B.纯虚函数的声明总是以“=0;”结束

    C.派生类必须实现基类的纯虚函数

    D.含有纯虚函数的类不能是派生类


    正确答案:B
    解析:基类的虚函数有时候不可能被调用到,这时可定义该虚函数为纯虚函数。纯虚函数没有函数体,但一定要进行说明,它告诉编译器,派生类必须定义该成员函数。纯虚函数是一种特殊的虚函数,纯虚函数是在虚函数的后面加上“=0”,表示该虚函数无函数体,并非赋值运算。纯虚函数的一般格式为:virtual类型>函数名>(参数表>)=0;。在很多情况下,在基类中不能对虚函数给出有意义的实现,而把它说明为纯虚函数.

  • 第3题:

    关于纯虚函数和抽象类的描述中,( )是错误的。

    A.纯虚函数是一种特殊的虚函数,它没有具体的定义

    B.抽象类是指具有纯虚函数的类

    C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类

    D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出


    正确答案:C

  • 第4题:

    下面有关纯虚函数的表述中正确的是( )

    A.含有纯虚函数的类不可能是派生类

    B.纯虚函数是没有给出显现版本(即无函数体定义)的虚函数

    C. 派生类必须实现基类的纯虚函数

    D.纯虚函数的声明总是以“=0”结束


    正确答案:D
    解析:C++中的某些情况下基类无法确定一个虚函数的具体操作方法或内容,只能靠派生类来提供各个具体的实现版本。基类中必须靠派生类提供重定义的虚函数叫做纯虚函数。为了将一个虚函数声明为一个纯虚函数,需要在结束符号前加上=0;若派生没有重定义纯虚函数,这个函数仍然是纯虚函数。

  • 第5题:

    纯虚函数是在基类中声明但没有定义的虚函数,可以声明该函数为纯虚函数是在【 】置于虚函数的原型后完成的。


    正确答案:=0
    =0 解析:在普通的虚函数后面加上“=0”,这样就声明了一个纯虚函数。

  • 第6题:

    关于纯虚函数和抽象类的描述中,错误的是( )。

    A.纯虚函数是一种特殊的虚函数,它没有具体的实现

    B.抽象类是指具有纯虚函数的类

    C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类

    D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出


    正确答案:C

  • 第7题:

    关于纯虚函数,下列表述中正确的是( )。

    A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

    B.纯虚函数的声明总是以“=0”结束

    C.派生类必须实现基类的纯虚函数

    D.含有纯虚函数的类不可能是派生类


    正确答案:B
    B。【解析】纯虚函数是在声明虚函数时被“初始化”为0的虚函数。纯虚函数没有函数体,纯虚函数的作用是在基类中为其派生类保留一个函数名称。

  • 第8题:

    关于纯虚函数,下列表述正确的是( )。

    A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

    B.纯虚函数的声明总是以“=0”结束

    C.派生类必须实现基类的纯虚函数

    D.含有纯虚函数的类不可能是派生类


    正确答案:B

  • 第9题:

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


    正确答案:正确

  • 第10题:

    单选题
    下列有关抽象类和纯虚函数的叙述中,错误的是(  )。
    A

    拥有纯虚函数的类是抽象类,不能用来定义对象

    B

    抽象类的派生类若不实现纯虚函数,它也是抽象类

    C

    纯虚函数的声明以“=0;”结束

    D

    纯虚函数都不能有函数体


    正确答案: D
    解析:
    A项正确,拥有纯虚函数的类称为抽象类,抽象类不能用来定义对象;B项正确,如果一个抽象类的派生类没有重定义来自其基类的某个纯虚函数,则该函数在派生类中仍然是纯虚函数,这就使得该派生类也成为抽象类;C项正确,一个函数是否为纯虚函数,取决于其原型的尾部是否为“=0;”,因此纯虚函数的声明以“=0;”结束;D项错误,纯虚函数可以有函数体,它的实现由派生类给出。

  • 第11题:

    单选题
    在一个抽象类中,一定包含有(  )。
    A

    虚函数

    B

    纯虚函数

    C

    模板函数

    D

    重载函数


    正确答案: B
    解析:
    拥有纯虚函数的类叫做抽象类,所以抽象类中必然包含有纯虚函数。

  • 第12题:

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

    ::运算符不能重载

    B

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

    C

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

    D

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


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

  • 第13题:

    在基类中没有具体定义,但要求任何派生类都自已定义版本的虚函数是()。

    A.虚析构函数;

    B.构造函数;

    C.纯虚函数;

    D.静态成员函数。


    参考答案:C
    析:如果虚基类的派生类不重定义虚基类的纯虚函数,该派生类也将虚化。

  • 第14题:

    在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。

    A.虚基类

    B.抽象类

    C.虚函数类

    D.模板类


    正确答案:B
    解析:类中一旦有纯虚函数的定义那么这个类就再也不能创建此类的对象了,我们把这种类叫做抽象类。

  • 第15题:

    是一个在百慕大类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。

    A.虚析构函数

    B.虚构造函数

    C.纯虚函数

    D.静态成员函数


    正确答案:C

  • 第16题:

    下面关于纯虚函数和抽象类的描述中, ______ 是错误的。

    A.纯虚函数是一种特殊的虚函数,它没有具体意义

    B.一个基类中的说明有纯虚函数,该基类的派生类一定不再是抽象类

    C.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出

    D.抽象类是指具有纯虚函数的类


    正确答案:B

  • 第17题:

    是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。

    A.虚析构函数

    B.构造函数

    C.纯虚函数

    D.静态成员函数


    正确答案:C

  • 第18题:

    下列关于纯虚函数与抽象类的描述中,错误的是( )。

    A.纯虚函数是一种特殊的虚函数,它没有具体的实现

    B.抽象类是指具有纯虚函数的类

    C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类

    D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出


    正确答案:C
    C。【解析】纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。

  • 第19题:

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

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

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

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

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


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

  • 第20题:

    重载的流运算符函数应该被定义为类的__________函数。


    正确答案:
    友元

  • 第21题:

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


    正确答案:正确

  • 第22题:

    单选题
    下列描述中,关于c++说法正确的是()
    A

    所有的运算符号都可以重载。不能重载的运算符只有4个,作用域运算符:’::’,成员解引用运算符:’.*’,成员访问运算符:’.’,条件运算符:’?:’

    B

    基类类型的指针可以指向子类,子类类型的指针也可以指向基类

    C

    可以在类的构造函数中对静态数据成员进行初始化

    D

    动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数


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

  • 第23题:

    单选题
    关于纯虚函数和抽象类的描述中,错误的是()。
    A

    纯虚函数是一种特殊的虚函数,它没有具体的实现

    B

    抽象类是指具有纯虚函数的类

    C

    一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类

    D

    抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出


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

  • 第24题:

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

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

    B

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

    C

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

    D

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


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