欢迎来到天天文库
浏览记录
ID:13245078
大小:43.50 KB
页数:8页
时间:2018-07-21
《选择题(继承和派生)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、继承和派生一、选择题1. 在C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过(),派生出新的类。A、复用B、继承C、单继承D、多继承答案:B 2. 继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A、规律性B、传递性C、重复性D、多样性答案:B 3. 对于虚函数的调用()A、一定使用动态联编B、一定使用静态联编C、必须使用动态联编D、不一定使用动态联编 解析:虚函数只是实现动态联编的必要条件之一,只有在同时满足下面条件时,对虚函数的调用才是动态联编:动态联编调用才是动态联编:(1)
2、 类之间为基类和派生类关系(2) 要有虚函数(1) 类之间为基类和派生类关系(2) 要有虚函数(3) 调用虚函数操作的是对象的指针或者对象引用,或者是由成员函数调用虚函数。如果不能同时满足以上条件,对虚函数的调用将采取静态联编。答案:D 4. 下列描述中,()是抽象类的特征。A、可以说明虚函数B、可以定义友元函数C、可以进行构造函数重载D、不能说明其对象解析:带有纯虚函数的类称为抽象类。抽象类中的纯虚函数没有具体的定义,所以不能说明抽象类的对象。这也是抽象类的特性。答案:D 5. 在多继承中,公有派生和私有派生对于基类成员在派生
3、类中的可访问性与单继承的规则()。A、完全相同B、完全不同C、部分相同,部分不同D、以上都不对答案:A6. 实现运行时的多态性要使用()A、构造函数B、析构函数C、重载函数D、虚函数解析:动态联编一直要到程序运行时才能确定调用哪个函数。虚函数是实现动态联编的必要条件之一,没有虚函数一定不能实现动态联编。答案:D 7. 派生类的对象对它的基类成员中()中可以访问的。A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员解析:派生类的对象只能访问公有成员,而基类中的公有成员在公有继承方式下成为派生类的公有成员。答案:A 8. 派生
4、类的构造函数的成员初始化列表中,不能包含()。A、基类的构造函数B、派生类中子对象的初始化C、基类的子对象初始化D、派生类中一般数据成员的初始化解析:可以包含派生类中子对象的初始化,但不能包含基类的子对象初始化,后者可由基类构造函数进行初始化。答案:C 9. 设置虚基类的目的是()A、简化程序B、消除二义性C、提高运行效率D、减少目标代码解析:在多继承中,若在多条继承路径上,有公共基类,这个公共基类便会产生多个副本。为了解决二义性问题,把公共基类定义为虚基类。答案:C 10. 下面程序中,编译时出现错误的是()。classA //
5、(1){public: //(2)A(){func(); //(3)}Virtualvoidfunc()=0;}A、(1)B、(2)C、(3)D、(4)解析:在成员函数内可以调用纯虚函数,但在构造函数或析构函数内调用一个纯虚函数将导致程序运行错误,因为没有为纯虚函数定义代码。该程序中,构造函数A()调用了纯虚函数func(),因此,程序编译时会出现错误。答案:C 11. 关于多继承二义性描述中,错误的是()A、一个派生类的基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B、解决二义性
6、的最常用的方法就是对成员名的限定法C、基类和派生类同时出现的同名函数,也存在二义性问题(错误){调用的都是最开头的基类成员函数}下同D、一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性。 答案:C12.C++类体系中,不能被派生类继承的有_________。A)构造函数B)虚函数C)静态成员函数D)赋值操作函数答案:A13.下列说法中错误的是_________。A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承时基类中的private成员在派生类中仍是private的C)私有继承时基类中的public成员在
7、派生类中是private的D)保护继承时基类中的public成员在派生类中是protected的答案:B14.下列对基类和派生类关系的描述中,错误的是_________。A)派生类是基类的具体化(对象)B)派生类是基类的子集C)派生类是基类定义的延续D)派生类是基类的组合答案:A15.多继承的构造顺序序可分为如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有
此文档下载收益归作者所有