更多“在C++中,对虚函数来说,不能声明(),但可以声明虚析构函数。”相关问题
  • 第1题:

    下面关于虚函数的描述,错误的是( )。

    A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

    B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数

    C.虚函数可以是另一个类的友元函数,但不能是静态成员函数

    D.基类中说明的纯虚函数在其任何派生类中都必须实现


    正确答案:B
    基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

  • 第2题:

    下列描述中正确的是( )。

    A.构造函数可以为虚函数,析构函数不可以为虚函数

    B.构造函数不可以为虚函数,析构函数可以为虚函数

    C.构造函数可以为虚函数,析构函数可以为虚函数

    D.构造函数不可以为虚函数,析构函数不可以为虚函数


    正确答案:B
    解析:构造函数不可以为虚函数,但可以调用虚函数;析构函数可以为虚函数。

  • 第3题:

    在成员函数声明的前面加上关键词【 】修饰,即把该函数声明为虚函数。


    正确答案:virtual
    virtual 解析:说明虚函数的方法为:
    virtual类型说明符>函数名>(参数表>)
    其中,被关键词virtual说明的函数称为虚函数。

  • 第4题:

    在析构函数中调用虚函数时,采用动态束定。( )

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


    正确答案:错误

  • 第5题:

    下面关于构造函数和析构函数的描述中,错误的是( )。

    A.析构函数可以声明为虚函数

    B.对虚析构函数的调用可以采用动态联编

    C.一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响

    D.构造函数可以声明为虚函数


    正确答案:D

  • 第6题:

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

    A.虚函数不能声明为另一个类的友元函数

    B.派生类必须重新定义基类的虚函数

    C.如果在重定义虚函数时使用了保留字virtual,那么该重定义函数仍是虚函数

    D.虚函数不能够声明为静态函数


    正确答案:D

  • 第7题:

    在C++中,也可使用struct来声明类,但在该类中不能声明成员函数。


    正确答案:错误

  • 第8题:

    什么函数不能声明为虚函数?


    正确答案:constructor函数不能声明为虚函数。

  • 第9题:

    构造函数和析构函数均不能被说明为虚函数。


    正确答案:错误

  • 第10题:

    判断题
    构造函数和析构函数均不能被说明为虚函数。
    A

    B


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

  • 第11题:

    判断题
    类的构造函数和析构函数一般都声明为虚函数。
    A

    B


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

  • 第12题:

    单选题
    关于虚函数,以下说法正确的是(  )。
    A

    若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

    B

    虚函数不能声明为友元

    C

    子类必须重定义父类的虚函数

    D

    虚函数不能是static的


    正确答案: B
    解析:
    在C++语言中,虚函数可以是友元函数,但不能是静态成员。虚函数的重定义函数,无论是否使用virtual关键字,仍然是虚函数。

  • 第13题:

    在C++中用来实现运行时多态性的是______ 。

    A.重载函数

    B.析构函数

    C.构造函数

    D.虚函数


    正确答案:D
    解析:虚函数在派生类被改变,类的对象在接受同样的消息时,所做出的响应不同。

  • 第14题:

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


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

  • 第15题:

    如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数。( )

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


    正确答案:正确

  • 第16题:

    在析构函数中调用虚函数时,采用_____联编。


    正确答案:静态
    静态

  • 第17题:

    下面关于构造函数和析构函数的描述,错误的是( )。

    A)析构函数中调用虚函数采用静态联编

    B)对虚析构函数的调用可以采用动态联编

    C)当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数

    D)构造函数可以声明为虚函数


    正确答案:D

  • 第18题:

    下面关于虚函数的描述,错误的是

    A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
    B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
    C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
    D.基类中说明的纯虚函数在其任何派生类中都必须实现

    答案:B
    解析:
    基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派牛类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

  • 第19题:

    下列函数中,不能说明为虚函数的是()

    • A、析构函数
    • B、构造函数
    • C、公有成员函数
    • D、私有成员函数

    正确答案:B

  • 第20题:

    类的构造函数和析构函数一般都声明为虚函数。


    正确答案:错误

  • 第21题:

    C++程序下列说法正确的有()

    • A、对调用的虚函数和模板类都进行迟后编译
    • B、基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual声明,而且必须名字相同且参数类型相同返回类型相同
    • C、重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同
    • D、静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数

    正确答案:A

  • 第22题:

    填空题
    在C++中,对虚函数来说,不能声明(),但可以声明虚析构函数。

    正确答案: 析构造函数
    解析: 暂无解析

  • 第23题:

    问答题
    为什么析构函数通常声明为虚函数,而构造函数不能是虚函数?

    正确答案: 因为构造函数不被继承,而虚函数是要在派生类中重定义的。定义虚析构函数后,由于多态,当使用基类指针指向派生类对象时,会调用派生类的虚构函数,然后派生类的析构函数自动调用基本析构函数。不是虚的话,直接调用基类的析构函数了。如果派生类中有用new分配的内存,就无法释放。
    解析: 暂无解析