当派生类指针指向基类对象时()A、可以直接调用基类的成员函数B、可以调用派生类对象的成员函数C、必须强制将派生类指针转换成基类指针才能调用基类的成员函数D、以上说法都不对

题目

当派生类指针指向基类对象时()

  • A、可以直接调用基类的成员函数
  • B、可以调用派生类对象的成员函数
  • C、必须强制将派生类指针转换成基类指针才能调用基类的成员函数
  • D、以上说法都不对

相似考题
更多“当派生类指针指向基类对象时()A、可以直接调用基类的成员函数B、可以调用派生类对象的成员函数C、必须强制将派生类指针转换成基类指针才能调用基类的成员函数D、以上说法都不对”相关问题
  • 第1题:

    要使用动态联编,必须使用()调用虚函数。

    A、类名

    B、对象名

    C、派生类指针

    D、基类指针


    参考答案:D

  • 第2题:

    在一个派生类对象结束其生命周期时,下列叙述中正确的是( )。

    A. 先调用基类的析构函数,后调用派生类的析构函数

    B.先调用派生类的析构函数,后调用基类的析构函数

    C.如果基类没有定义析构函数,则只调用派生类的析构函数

    D.如果派生类没有定义析构函数,则只调用基类的析构函数


    参考答案:B

  • 第3题:

    生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。

    A) 无需任何条件

    B) 基类中显示定义了构造函数

    C) 派生类中显式定义了构造函数

    D) 派生类构造函数明确调用了基类构造函数

    A.

    B.

    C.

    D.


    正确答案:A

  • 第4题:

    下列关于基类和派生类关系的叙述中,正确的是

    A.每个类最多只能有一个直接基类

    B.派生类中的成员可以访问基类中的任何成员

    C.基类的构造函数必须在派生类的构造函数体中调用

    D.派生类除了继承基类的成员,还可以定义新的成员


    正确答案:D
    解析:派生类可以只有一个直接基类,也可以同时有多个直接基类,A错。基类中的私有成员在派生类中是隐藏的,只能在基类内部访问,派生类中的成员不能访问基类中的私有成员,B错。基类的构造函数在派生类构造函数的成员初始化列表中调用,C错。D项正确。

  • 第5题:

    生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。

    A.无需任何条件

    B.基类中显式定义了构造函数

    C.派生类中显式定义了构造函数

    D.派生类构造函数明确调用了基类构造函数


    正确答案:D
    D。【解析】派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。

  • 第6题:

    下列关于派生类构造函数和析构函数的说法中,错误的是( )。

    A.派生类的构造函数会隐含调用基类的构造函数

    B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数

    C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

    D.在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数


    正确答案:D

  • 第7题:

    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()

    • A、基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员
    • B、基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数
    • C、派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数
    • D、对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数

    正确答案:A

  • 第8题:

    下列关于类的继承描述中,正确的是()

    • A、派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。
    • B、派生类也是基类,所以它们是等价的。
    • C、派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。
    • D、一个基类可以有多个派生类,一个派生类可以有多个基类。

    正确答案:D

  • 第9题:

    单选题
    基类的指针与派生类指针,可以分别指向基类对象或派生类对象而形成4种情形。在这4种情形中,需要进行强制类型转换的是()
    A

    基类指针指向基类对象

    B

    基类指针指向派生类对象

    C

    派生类指针指向基类对象

    D

    派生类指针指向派生类对象


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

  • 第10题:

    单选题
    在C++中,要实现动态联编,必须使用()调用虚函数。
    A

    基类指针

    B

    对象名

    C

    派生类指针

    D

    类名


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

  • 第11题:

    单选题
    生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。
    A

    无需任何条件

    B

    基类中显示定义了构造函数

    C

    派生类中显式定义了构造函数

    D

    派生类构造函数明确调用了基类构造函数


    正确答案: D
    解析:
    因为派生类从基类中继承,它含有基类中的数据成员和函数成员,所以当生成派生类对象时,能无条件的调用基类的构造函数。

  • 第12题:

    单选题
    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()
    A

    基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员

    B

    基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数

    C

    派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数

    D

    对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数


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

  • 第13题:

    在C++中,对于基类的protected成员,当以protected方式派生一个新类时,该成员将成为派生类的(31)成员。C++的基类指针可以访问派生类对象,但不能访问派生类对象的(32)成员。当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为(33)指针。

    A.private

    B.protected

    C.public

    D.非法


    正确答案:B
    解析:保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员。

  • 第14题:

    下列关于派生类构造函数和析构函数的叙述中,错误的是

    A.派生类的构造函数会隐含调用基类的构造函数

    B.如果基类中没有默认构造函数,那么派生类必须定义构造函数

    C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

    D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数


    正确答案:D
    解析:在通常情况下,派生类和基类的构造函数的执行顺序为:先执行基类的构造函数,然后执行派生类的构造函数;当撤销派生类对象时,先执行派生类的析构函数,随后再执行基类的析构函数。

  • 第15题:

    下列关于派生类的构造函数的叙述中,正确的是( )。

    A.派生类通过成员初设列表的方法调用基本类的构造函数,实现对基本类的初始化

    B.派生类构造函数的调用顺序先基类后子对象构造函数

    C.派生类构造函数的调用顺序先子对象构造函数后基类

    D.派生类构造函数是不能继承基类的


    正确答案:C

  • 第16题:

    下列关于派生类的构造函数的说法中,哪个是错误的 ______。

    A.派生类不继承基类的构造函数和赋值运算

    B.派生类的构造函数可以调用基类的构造函数

    C.派生类的构造函数先于基类的构造函数执行

    D.在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象中的基类成员


    正确答案:C

  • 第17题:

    下列说法不正确的是( )。

    A.基类指针可以指向它的公有派生类的对象

    B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员

    C.基类指针不能指向其私有派生类的对象

    D.指向派生类对象的指针不可以指向基类的对象


    正确答案:B
    解析:其前半句是正确的,但后半句是错误的。它可以访问派生类的对象中由基类继承下来的成员,但不可访问派生类新增成员。

  • 第18题:

    当基类指针指向派生类对象时,会发生()

    • A、错误,基类指针不能指向派生类对象
    • B、基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数
    • C、基类指针可以调用派生类的成员函数
    • D、以上说法全部错误

    正确答案:B

  • 第19题:

    在创建派生类对象时,构造函数的执行顺序是()

    • A、对象成员构造函数―基类构造函数―派生类本身的构造函数
    • B、派生类本身的构造函数―基类构造函数―对象成员构造函数
    • C、基类构造函数―派生类本身的构造函数―对象成员构造函数
    • D、基类构造函数―对象成员构造函数―派生类本身的构造函数

    正确答案:D

  • 第20题:

    在C++中,要实现动态联编,必须使用()调用虚函数。

    • A、基类指针
    • B、对象名
    • C、派生类指针
    • D、类名

    正确答案:A

  • 第21题:

    单选题
    当基类指针指向派生类对象时,会发生()
    A

    错误,基类指针不能指向派生类对象

    B

    基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数

    C

    基类指针可以调用派生类的成员函数

    D

    以上说法全部错误


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

  • 第22题:

    单选题
    当基类指针指向派生类对象时,利用基类指针调用派生类中与基类同名但被派生类重写后的成员函数时,调用的是()
    A

    基类的成员函数

    B

    派生类的成员函数

    C

    不确定

    D

    先调用基类的,再调用派生类的


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

  • 第23题:

    单选题
    建立一个有成员对象的派生类对象时,各构造函数体的执行次序为(  )。
    A

    派生类、成员对象类、基类

    B

    成员对象类、基类、派生类

    C

    基类、成员对象类、派生类

    D

    基类、派生类、成员对象类


    正确答案: D
    解析:
    建立派生类对象的时候,构造函数的执行顺序如下:①执行基类的构造函数,调用的顺序按照基类被继承时候的顺序(自左向右);②执行成员对象的构造函数,调用顺序按照各个成员对象在类中的声明顺序(自上而下);③执行派生类的构造函数。