[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc

上传人:arrownail386 文档编号:497756 上传时间:2018-11-30 格式:DOC 页数:19 大小:52KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc_第1页
第1页 / 共19页
[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc_第2页
第2页 / 共19页
[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc_第3页
第3页 / 共19页
[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc_第4页
第4页 / 共19页
[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷21及答案与解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、国家二级 C+机试(继承和派生)模拟试卷 21及答案与解析 一、选择题 1 有如下类声明: class XA int x: public: XA(int n)x=n; ; class XB: public XA int y; public: XB(int a, int b); ; 在构造函数 XB的下列定义中,正确的是 ( )。 ( A) XB: XB(int a, int b): x(a), y(b) ( B) XB: XB(int a, int b): XA(a), y(b) ( C) XB: XB(int a, int b): x(a), XB(b) ( D) XB: XB(int a,

2、 int b): XA(a), XB(b) 2 有如下程序: #include using namespace std; class BASE public: BASE()cout using namespace std; class Base public: void fun()coutfun(); ( D) fun(); 19 有如下程序: #include using namespace std; class Base private: void fun1() constcout不可见; protected-private; public-protected。 【知识模块】 继承和派生

3、18 【正确答案】 B 【试题解析】 此题考查的是继承的使用。分析题目可知,横线处应填入对基类成员函数 fun()的调用语句,此处只能使用作用域运算符 “: ”才能调用到基类的同名函数,故选项 B正确。 【知识模块】 继承和派生 19 【正确答案】 B 【试题解析】 此 题考查的是保护继承。因为 Derived以 pmtected方式继承了Base类,所以父类 Base中的公育成员和保护成员均成了 Derived类的保护成员,而 Base类的私有成员 Derived类不可访问。所以,主函数中通过 Derived类的对象只能够访问到 Derived类的公有成员。 【知识模块】 继承和派生 20

4、【正确答案】 B 【试题解析】 此题考查的是派生类对基类成员的访问。基类的成员有公有、保护和私有三种访问属性;类的继承方式也有公有继承、保护继承和私有继承三种。无论那种继承方式,派生类 中的成员都不能访问基类中的私有成员,但可以访问基类中的公有成员和保护成员。 【知识模块】 继承和派生 21 【正确答案】 A 【试题解析】 此题考查的是派生类对基类成员的访问。因为类中缺省的访问权限是私有,所以本题中 MyBase类中定义的成员 k是私有成员。派生类中的成员只能访问基类中的公有成员和保护成员,不能访问基类中的私有成员。所以派生类中函数 getK()中的语句 returnk;是非法的。 【知识模块

5、】 继承和派生 22 【正确答案】 C 【试题解析】 此题考查的是派生类对 基类成员的访问。派生类对基类的各个成员的访问能力与继承方式无关,其成员不能访问基类中的私有成员,可以访问基类的公有成员和保护成员。 【知识模块】 继承和派生 23 【正确答案】 C 【试题解析】 此题考查的是基类成员在派生类中的访问属性。派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都变成私有成员;派生类从基类保护继承时, 基类的公有成员在派生类中变

6、成保护成员,錾类的保护成员在派生类中仍然是保护成员。根据以上分析可知,本题中只有从B类继承的 fun2()为公有属性,故选 C选项。 【知识模块】 继承和派生 24 【正确答案】 B 【试题解析】 此题考查的是派生类对基类成员的访问权限。派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都变成私有成员;派 生类从基类保护继承时,基类的公有成员在派生类中变成保护成员,基类的保护成员在派生类中仍然是保护成员。 【知识模块】 继承和派

7、生 25 【正确答案】 A 【试题解析】 在派生类对基类的三种继承形式中,都无法对基类的私有成员访问A正确。在 B中,三种继承方式都能访问基类的保护成员,故 B不正确。 C选项的情况在 f()是基类私有成员情况下是对的,但是还有别的可能,并不一定正确。同样 D也不一定正确。 【知识模块】 继承和派生 26 【正确答案】 D 【试题解析】 通过公有继承定义的派生类, 其成员函数可以访问基类的公有成员和保护成员,但不能访问基类的私有成员。 【知识模块】 继承和派生 27 【正确答案】 C 【试题解析】 建立派生类对象的时候,构造函数的执行顺序如下:执行基类的构造函数,调用的顺序按照基类被继承时候的顺序 (自左向右 )。然后是执行成员对象的构造函数,调用顺序按照各个成员对象在类中的声明顺序 (自上而下 ),最后是执行派生类的构造函数。 【知识模块】 继承和派生

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1