继承与派生基本概念测试

一. 单选题(共11题,49.5分)

1. (单选题)【继承与派生概念】下列关于继承的描述中,错误的是( )。

  • A. 继承是重用性的重要机制
  • B. C++语言不支持多重继承
  • C. 继承关系不是可逆的
  • D. 继承是面向对象程序设计语言的重要特性

正确答案: B

2. (单选题)【继承与派生概念】下列关于基类和派生类的描述中,错误的是( )。

  • A. 一个基类可以生成多个派生类
  • B. 基类中所有成员都是它的派生类的成员
  • C. 基类中成员访问权限继承到派生类中不变
  • D. 派生类中除了继承的基类成员还有自己的成员

正确答案: C

3. (单选题)【派生类构造函数】下列关于派生类的描述中,错误的是( )。

  • A. 派生类至少有一个基类
  • B. 一个派生类可以作另一个派生类的基类
  • C. 派生类的构造函数中应包含直接基类的构造函数
  • D. 派生类默认的继承方式是public

正确答案: D

题解:派生类的默认继承方式有两种。用class定义派生类,默认的继承方式是private,用struct定义派生类,默认的继承方式为public。

4. (单选题)【继承方式】派生类的对象可以直接访问的基类成员是( )。

  • A. 公有继承的公有成员
  • B. 保护继承的公有成员
  • C. 私有继承的公有成员
  • D. 公有继承的保护成员

正确答案: A

5. (单选题)【派生类构造函数】派生类构造函数的成员初始化列表中,不能包含的初始化项是( )。

  • A. 基类的构造函数
  • B. 基类的子对象
  • C. 派生类的子对象
  • D. 派生类自身的数据成员

正确答案: B

6. (单选题)【继承方式】下列描述中,错误的是( )。

  • A. 基类的protected成员在public派生类中仍然是protected成员
  • B. 基类的private成员在public派生类中是不可访问的
  • C. 基类public成员在private派生类中是private成员
  • D. 基类public成员在protected派生类中仍是public成员

正确答案: D

7. (单选题)【基类与派生类的转换】下列关于子类型的描述中,错误的是( )。

  • A. 在公有继承下,派生类是基类的子类型
  • B. 如果类A是类B的子类型,则类B也是类A的子类型
  • C. 如果类A是类B的子类型,则类A的对象就是类B的对象
  • D. 在公有继承下,派生类对象可以初始化基类的对象引用

正确答案: B

8. (单选题)【多继承】下列关于多继承二义性的描述中,错误的是( )。

  • A. 一个派生类的多个基类中出现了同名成员时,派生类对同名成员的访问可能出现二义性
  • B. 一个派生类有多个基类,而这些基类又有一个共同的基类,派生类访问公共基类成员时,可能出现二义性
  • C. 解决二义性的方法是采用类名限定
  • D. 基类和派生类中同时出现同名成员时,会产生二义性

正确答案: D

9. (单选题)有如下类定义:

class MyBASE{

int k;

public:

void set(int n) {k=n;}

int get( ) const {return k;}

};

class MyDERIVED: protected MyBASE{

protected;

int j;

public:

void set(int m,int n){MyBASE::set(m);j=n;}

int get( ) const{return MyBASE::get( )+j;}

};

则类MyDERIVED中保护成员个数是()。

  • A. 4
  • B. 3
  • C. 2
  • D. 1

正确答案: B

题解:标黄的三个

10. (单选题)

#include<iostream>

using namespace std;

class A {

public:

A( ) {cout<<”A”;}

};

class B {public:B( ) {cout<<”B”;} };

class C: public A{

B b;

public:

C( ) {cout<<”C”;}

};

int main( ) {C obj; return 0;}

执行后的输出结果是()。

      

  • A. CBA
  • B. BAC
  • C. ACB
  • D. ABC

正确答案: D

11. (单选题)类O定义了私有函数F1。P和Q为O的派生类,定义为class P: protected  O{…}; class Q: public O{…}。()可以访问Fl。

  • A. O的对象 
  • B. P类内
  • C.  O类内
  • D. Q类内

正确答案: C

二. 判断题(共11题,50.5分)

12. (判断题)【继承与派生概念】派生类只继承基类中的公有成员和保护成员,而不继承私有成员。

  • A. 对
  • B. 错

正确答案: 错

13. (判断题)【继承与派生概念】单重继承是指派生类只有一个基类的情况。

  • A. 对
  • B. 错

正确答案: 对

14. (判断题)【继承与派生概念】派生类还可以作基类派生出新的派生类。

  • A. 对
  • B. 错

正确答案: 对

15. (判断题)【继承方式】派生类中成员的访问权限与基类的继承方式有关。

  • A. 对
  • B. 错

正确答案: 对

16. (判断题)【继承与派生概念】继承反映了类之间“是”的关系,组合反映了类之间“有”的关系。

  • A. 对
  • B. 错

正确答案: 对

17. (判断题)【继承与派生概念】基类中成员在派生类中都是可以访问的。

  • A. 对
  • B. 错

正确答案: 错

18. (判断题)【派生类构造函数】派生类的默认构造函数不包含有直接基类的构造函数。

  • A. 对
  • B. 错

正确答案: 错

19. (判断题)【派生类析构函数】派生类的析构函数中不包含直接基类的析构函数。

  • A. 对
  • B. 错

正确答案: 错

20. (判断题)【继承方式】派生类的对象和派生类的成员 对派生类成员的访问权限是一样的。

  • A. 对
  • B. 错

正确答案: 错

21. (判断题)【继承方式】保护继承方式下基类的保护成员在派生类仍是保护成员。

  • A. 对
  • B. 错

正确答案: 对

22. (判断题)【继承方式】私有继承中基类的私有成员在派生类中还是私有的。

  • A. 对
  • B. 错

正确答案: 错

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值