[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷22及答案与解析.doc
《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷22及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷22及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(继承和派生)模拟试卷 22及答案与解析 一、选择题 1 有如下类定义和变量定义: class Parents public: int publicData; private: int privateData; ; class ChildA: public Parents *类体略 * ; class ChildB: private Parents *类体略 * ; ChildA a: ChildB b: 下列语句中正确的是 ( )。 ( A) cout using namespace std; class AA int k; protected: int n; void s
2、etK(int k)this-k=k; public: void setN(int n)this-n=n; ; class BB: public AA *类体略 * ; int main() BB x; x n=1: 1 x setN(2); 2 x k=3; 3 x setK(4); 4 return 0: 在标注号码的四条语句中正确的是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 4 有如下两个类定义 class xx private: dOuble x1; protected: double x2; public: double x3; ; class YY: pr
3、otected XX private: double y1; potected: double y2; public: double y3; ; 在类 YY中保护成员变量的个数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 5 有如下程序: #include using namespace std; class Music public: void setTitle(char*str)strcpy(title, str); protected: char type10; private: char title20; ; class Jazz: public Music p
4、ublic: void set(char*str) strcpy(type, “Jazz“); strcpy(title, str); ; 下列叙述中正确的 是 ( )。 ( A)程序编译正确 ( B)程序编译时语句 出错 ( C)程序编译时语句 出错 ( D)程序编译时语句 和 都出错 6 当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是 ( )。 ( A)任何 ( B)公有或保护 ( C)保护或私有 ( D)私有 7 下列关于派生类和基类的描述中,正确的是 ( )。 ( A)派生类成员函数只能访问基类的公有成员 ( B)派生类成员函数只
5、能访问基类的公有和保护成员 ( C)派生类成员函数 可以访问基类的所有成员 ( D)派生类对基类的默认继承方式是公有继承 8 有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是 ( )。 ( A) obj fun1(); ( B) obj fun2(); ( C) obj fun3(); ( D) obj fun4(); 9 有如下程序:
6、 class Base public: int data; ; class Derivedl: public Base; class Derived2: protected Base; int main() Derivedl d1; Derived2 d2; d1 data=0: d2 data=0: return 0: 下列关于程序编译结果的描述中,正确的是 ( )。 ( A) 皆无编译错误 ( B) 有编泽错误, 无编译错误 ( C) 无编译错误, 有编译错误 ( D) 皆有编译错误 10 有如下程序: #include using namespace std; class XX int
7、x; public: XX(int xx=0): x(xx) int getX()return x; ; class YY: public XX int y; public: YY(int xx, int yy): XX(xx), y(yy) int getV()return getX()+y; ; int main() YY c(3, 4); cout using namespace std; class Media public: void Name(); void Show(); protected: int page; ; class Book: private Media publi
8、c: void Print() cout using namespace std; class A public: A()cout usmg namespace std; classA Public: AOtout using namespace std; class Base protected: Base()tout using namespace std; class A public: A(int i)x=i; void dispa()cout using namespace std; class Base int x; public; Baseint n=0; x(n)cout us
9、ing namespace std; class AA public: AA()cout using namespace std; class C1 public: C1()cout using namespace std; class Base public: Base(int x=0): valB(x)cout using namespace std; class Basel public: Basel(int d) coutn=n; ,对保护成员 n进行赋值操作。 【知识模块】 继承和派生 4 【正确答案】 C 【 试题解析】 在 cH中派生类从基类保护继承时,基类的公有成员在派生类中改
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 继承 派生 模拟 22 答案 解析 DOC
