选择题(继承和派生)

上传人:wt****50 文档编号:34054548 上传时间:2018-02-20 格式:DOC 页数:8 大小:43.50KB
返回 下载 相关 举报
选择题(继承和派生)_第1页
第1页 / 共8页
选择题(继承和派生)_第2页
第2页 / 共8页
选择题(继承和派生)_第3页
第3页 / 共8页
选择题(继承和派生)_第4页
第4页 / 共8页
选择题(继承和派生)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《选择题(继承和派生)》由会员分享,可在线阅读,更多相关《选择题(继承和派生)(8页珍藏版)》请在金锄头文库上搜索。

1、继承和派生一、选择题1. 在 C+中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过(),派生出新的类。A、 复用B、 继承C、 单继承D、 多继承答案:B2. 继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A、 规律性B、 传递性C、 重复性D、 多样性答案:B3. 对于虚函数的调用()A、 一定使用动态联编B、 一定使用静态联编C、 必须使用动态联编D、 不一定使用动态联编解析:虚函数只是实现动态联编的必要条件之一,只有在同时满足下面条件时,对虚函数的调用才是动态联编:动态联编调用才是动态联编:(1) 类之间为基类

2、和派生类关系(2) 要有虚函数(1) 类之间为基类和派生类关系(2) 要有虚函数(3) 调用虚函数操作的是对象的指针或者对象引用,或者是由成员函数调用虚函数。如果不能同时满足以上条件,对虚函数的调用将采取静态联编。答案:D4. 下列描述中,()是抽象类的特征。A、 可以说明虚函数B、 可以定义友元函数C、 可以进行构造函数重载D、 不能说明其对象解析:带有纯虚函数的类称为抽象类。抽象类中的纯虚函数没有具体的定义,所以不能说明抽象类的对象。这也是抽象类的特性。答案:D5. 在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。A、 完全相同B、 完全不同C、 部分相同

3、,部分不同D、 以上都不对答案:A6. 实现运行时的多态性要使用()A、 构造函数B、 析构函数C、 重载函数D、 虚函数解析:动态联编一直要到程序运行时才能确定调用哪个函数。虚函数是实现动态联编的必要条件之一,没有虚函数一定不能实现动态联编。答案:D7. 派生类的对象对它的基类成员中()中可以访问的。A、 公有继承的公有成员B、 公有继承的私有成员C、 公有继承的保护成员D、 私有继承的公有成员解析:派生类的对象只能访问公有成员,而基类中的公有成员在公有继承方式下成为派生类的公有成员。答案:A8. 派生类的构造函数的成员初始化列表中,不能包含()。A、 基类的构造函数B、 派生类中子对象的初

4、始化C、 基类的子对象初始化D、 派生类中一般数据成员的初始化解析:可以包含派生类中子对象的初始化,但不能包含基类的子对象初始化,后者可由基类构造函数进行初始化。答案:C9. 设置虚基类的目的是()A、 简化程序B、 消除二义性C、 提高运行效率D、 减少目标代码解析:在多继承中,若在多条继承路径上,有公共基类,这个公共基类便会产生多个副本。为了解决二义性问题,把公共基类定义为虚基类。答案:C10. 下面程序中,编译时出现错误的是()。class A / (1)public : /(2)A ()func(); /(3)Virtual void func()= 0 ;A、(1)B、(2)C、(3

5、)D、(4)解析:在成员函数内可以调用纯虚函数,但在构造函数或析构函数内调用一个纯虚函数将导致程序运行错误,因为没有为纯虚函数定义代码。该程序中,构造函数 A()调用了纯虚函数 func(),因此,程序编译时会出现错误。答案:C11. 关于多继承二义性描述中,错误的是()A、 一个派生类的基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B、 解决二义性的最常用的方法就是对成员名的限定法C、 基类和派生类同时出现的同名函数,也存在二义性问题(错误)调用的都是最开头的基类成员函数下同D、 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能

6、出现二义性。答案:C12.C+类体系中,不能被派生类继承的有_。A)构造函数B)虚函数C)静态成员函数D)赋值操作函数答案:A13.下列说法中错误的是_。A)公有继承时基类中的 public 成员在派生类中仍是 public 的B)公有继承时基类中的 private 成员在派生类中仍是 private 的C)私有继承时基类中的 public 成员在派生类中是 private 的D)保护继承时基类中的 public 成员在派生类中是 protected 的答案:B14.下列对基类和派生类关系的描述中,错误的是_。A)派生类是基类的具体化(对象)B)派生类是基类的子集C)派生类是基类定义的延续D)

7、派生类是基类的组合答案:A15.多继承的构造顺序序可分为如下 4 步:所有非虚基类的构造函数按照它们被继承的顺序构造;所有虚基类的构造函数按照它们被继承的顺序构造;所有内嵌对象的构造函数按照它们声明的顺序构造;派生类自己的构造函数体;这 4 个步骤的正确顺序是_。A)B)C)D)答案:C?16.下列对派生类的描述中,错误的是_。A)一个派生类可以作为另一个派生类的基类B)派生类至少有一个基类C)派生类的缺省继承方式(?)是 privateD)派生类只继承了基类的公有成员和保护成员答案:D17.下面叙述错误的是_。A)对基类成员的访问能力在 private 派生类中和 public 派生类中是相

8、同的(?)B)基类的 private 成员在 public 派生类中不可访问C)基类中的 public 成员在 protected 派生类中是 protected 的D)基类中的 protected 成员在 public 派生类中是 protected 的答案:A18.下列虚基类的声明中,正确的是_。A)class virtual B:public AB)virtual class B:public AC)class B:public A virtualD)class B:virtual public A答案:B19.派生类的对象对它的基类成员中_是可以访问的。A)公有继承的公有成员B)公有继

9、承的私有成员C)公有继承的保护成员D)私有继承的公有成员答案:A20.继承具有_ ,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A)规律性B)传递性C)重复性D)多样性21.下列关于子类型的描述中,错误的是_。A)子类型关系是可逆的B)公有派生类的对象可以初始化基类的引用C)只有在公有继承下,派生类是基类的子类型D)子类型关系是可传递的22.下列关于虚基类的描述中,错误的是_。A)虚基类子对象的初始化由最派生类完成B)虚基类子对象的初始化次数与虚基类下面的派生类个数有关C)设置虚基类的目的是消除二义性D)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对

10、虚基类构造函数的调用23.C+语言建立类族是通过_实现的。A)类的嵌套B)虚函数C)类的继承D)抽象类24.基类的_不能为派生类的成员访问,基类的_在派生类中的性质和继承的性质一样,基类的_在私有继承时在派生类中成为私有成员函数,在公有和保护继承时在派生类中仍为保护成员函数。A)公有成员B)私有成员C)私有成员函数D)保护成员函数25.下列程序中,划线处正确的语句是_。#include Class Basepublic:void fun()coutBase:funO;D)Base-fun();26.派生可以分为_和_。由_得到的派生类,其基类的所有公有成员都只能成为它的私有成员,这些私有成员只能被派生类的成员函数访问,而_ _ 无权访问;由_得到的派生类,其基类中所有公有成员在派生类中也都是公有的。A)公有派生B)派生类的实例C)私有派生D)派生类的构造函数27 派生类的对象对它的基类成员中什么是可访问的。 A、公有继承的公有成员B、公有继承的私有成员 C、公有继承的保护成员D、私有继承的公有成员 答案:A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号