【学历类职业资格】C++程序设计自考题模拟12及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟12及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟12及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 12 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在类中声明的成员可以使用以下哪个关键字进行修饰_(分数:1.00)A.externB.autoC.regusterD.void2.下列关于构造函数的描述中,正确的是_(分数:1.00)A.构造函数不可以设置默认的参数B.构造函数不可以是内联函数C.构造函数在定义类对象时自动执行D.构造函数不可以重载3.用于表明类其后的成员函数属于这个特定类的运算符是_(分数:1.00)AB.-C.:D.void4.在定义一个派生类时,若不使用保留字显式地规定采用何种继承方
2、法,则默认为_方式。(分数:1.00)A.公有继承B.私有继承C.保护继承D.非私有5.类对象的指针可以通过_运算符访问对象的成员。(分数:1.00)AB.-C.:D.void6.下列关于复制构造函数的说法中错误的是_(分数:1.00)A.复制构造函数是一种特殊的构造函数,函数名与类名相同B.若自定义派生类的复制构造函数,那么也必须自定义基类的复制构造函数C.复制构造函数只能有一个参数D.复制构造函数不允许在函数体中使用 return 语句7.运算符_与析构函数一起工作来删除一个动态对象。(分数:1.00)A.deleteB.cutC.clearD.cancel8.下列不属于实例连接的方式的为
3、_(分数:1.00)A.一对一B.一对多C.多对一D.多对多9.下列关于类的描述中,错误的是_(分数:1.00)A.类是一组对象的模板B.类是抽象数据的实现C.类是数据和方法的封装体D.类是对象的实例10.下面哪个关键字不属于修饰类特殊成员函数的关键字_(分数:1.00)A.constB.volatileC.staticD.public11.下述静态成员的特性中,正确的是_(分数:1.00)A.静态成员函数可以利用 this 指针B.静态数据成员要在类体内进行初始化C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D.静态数据成员不是所有对象所共有的12.下列关于静态成员函数与一
4、般成员函数的不同点不正确的是_(分数:1.00)A.静态成员是类的成员,不是对象的成员B.静态成员的生成在建立对象之后C.静态成员函数不能被说明为虚函数D.静态成员函数不能直接访问非静态函数13.类的派生和继承是面向对象程序设计方法的重要特征之一,下面关于它的叙述正确的是_(分数:1.00)A.派生类不能访问基类的保护成员B.作为虚基类的类不能被实例化C.派生类应当向基类的构造函数传递参数D.虚函数必须在派生类中重新实现14.下面关于类模板的叙述正确的是_(分数:1.00)A.不可以通过一个类派生类模板B.可以从一个类模板派生出一个新的类模板C.类模板不支持单一继承D.类模板不可以有多个参数1
5、5.下列关于向量的描述中,不正确的是_(分数:1.00)A.size()方法指返回当前向量中已经存放的对象的个数B.erase(iterator it)方法是删除 it 所指向的容器对象C.向量可以改变赋值目标的大小D.向量是类模板,具有成员函数,但它不可以使用构造类型16.下面关于向量和数组的叙述不正确的是_(分数:1.00)A.向量是一维数组的类版本,它与数组相似B.向量的元素项是连续存储的C.向量中存储元素的多少可以在运行中根据需要动态地增加或减少D.可以使用 length()方法获得 vector 对象当前存储元素的数量17.有如下函数模板定义: template T func(T x
6、, T y) return x*x+y*y; 在下列对 func 的调用中,错误的是_(分数:1.00)A.func(1,2)B.func(1,1.1)C.func(1.1,2.1)D.func(1.1f,1.2f)18.关于向量最基本的操作方法,不正确的叙述是_(分数:1.00)A.max_size()方法返回向量可以容纳最多对象的个数B.pop_back()方法删除向量中最后一个对象C.operator()方法返回向量中的第 n 个对象D.clear()方法删除向量中所有对象19.下列关于模板类说法中,正确的是_(分数:1.00)A.模板类的基类不可以是非模板类B.模板类的派生类不可以是模
7、板类C.根据建立对象时的实际数据类型,编译器把类模板实例化为模板类D.不可以从构造函数参数列表推断出模板实例化参数类型20.下列叙述不符合赋值兼容规则的是_(分数:1.00)A.派生类的对象可以赋给基类的对象B.基类的对象可以赋给派生类的对象C.派生类的对象可以初始化基类的引用D.派生类的对象的地址可以赋给指向基类的指针二、第部分 非选择题(总题数:20,分数:20.00)21.类中定义的数据和函数称为这个类的成员,即 1 和 2。 (分数:1.00)22.如果用户没有一个类定义任何构造函数,则 C+编译器自动生成一个 1 构造函数。 (分数:1.00)23.类成员的访问权限有 1、 2、 3
8、。 (分数:1.00)24.设 A 为 Sample 类的对象且赋有初值,则语句 Sample B(A);表示 1。 (分数:1.00)25.使用关键字 1 将成员函数定义为内联函数。 (分数:1.00)26.在类内部定义的 1 和 2 数据不能被类外部的成员函数来存取;定义为 3 的数据,可以在类外部进行存取。 (分数:1.00)27.在对象消失时,应使用 1 释放由构造函数分配的内存。 (分数:1.00)28.在继承机制下,当对象消亡时,编译系统执行析构函数的顺序是 1。 (分数:1.00)29.在程序中,使用关键字 1 引用一个指向调用该函数的对象的指针。 (分数:1.00)30.已定义
9、类 A,若要把函数 ffun()定义为类 A 的友元函数,则应在类 A 的定义中声明函数的语句为 1。 (分数:1.00)31.在多文件设计中,point.h 可能会被嵌套包含,这时候为了避免重复编译类的同一个头文件,可以使用 1。 (分数:1.00)32.友元函数可以存取类的 1。 (分数:1.00)33.当一个类要和另一个类协同工作时,使一个类成为另一个类的 1 很有用。 (分数:1.00)34.在多继承问题中,若多个基类及其派生类中都定义了同名函数成员,要访问相应函数时,就需要在函数名前加上 1 和类区分符,来避免二义性。 (分数:1.00)35.从一个或者多个以前定义的类产生新类的过程
10、成为 1。 (分数:1.00)36.请在横线处填写正确的内容,使复制构造函数的声明完整。 class MyClass private: int num; public: MyClass(int value); /构造函数 MyClass(coast 1 another Object);/复制构造函数 ; (分数:1.00)37.常量成员包括常数据成员、静态常数据成员和 1。 (分数:1.00)38.当一个成员函数被调用时,this 指针指向当前调用该成员函数调用命令的 1。 (分数:1.00)39.对象传递的消息一般由三部分组成:接收对象名、调用操作名、 1。 (分数:1.00)40.用户为类
11、 AB 定义了一个含两个参数的构造函数“AB(int aa, int bb=0)a=aa; b=bb“,则定义该类的对象时,其实参表中至少带有 1 个实参。 (分数:1.00)三、改错题(总题数:5,分数:20.00)41.class Sample public: static void f(Sample my); private: int n; ; void Sample:f(Sample my) coutnendl; (分数:4.00)42.class Sample int num; public: void set(int); ; int nunber=num; void Sample:
12、set(int i) num=i; (分数:4.00)43.class B int x, y; public: void B(int m, int n); ; (分数:4.00)44.class Sample1 int x; friend class Sample2; ; class Sample2 friend class Sample3; class Sample3 void func(Samplel*p); ; void Sample3:func(A*p) p-x+; (分数:4.00)45.指出错误语句,并说明出错原因。 class base public: int x; ; clas
13、s One: public base; class Two: public base; class Three public One, public Two public: int func 1; ; void main 2 Three p; p.base:x; (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46.程序的输出结果如下: 1,2 5,6 30 请根据输出结果在下面程序中的下画线处填写正确的语句。 #includeiostream using namespace std; class M public: void Set(int i, int j)m1=i; m2
14、=j; void Print()coutm1“, “m2endl; protected: int m1, m2; ; class N: public M public: void Set()n=m1*m2; void Print()coutnendl; private: int n; ; void main() M m; _ ; m.Print(); N n; _ ; n.M:Print(); n.Set(); n.Print(); (分数:4.00)_47.在下面横线处填上正确的内容,完成类的定义。 #includeiostream using namespace std; class Po
15、int private: int x, y; public: Point(int=0, int=0); _/声明析构函数 ; Point:point(int a, int b):x(a), y(b) cout“Initializing“a“, “bendl; void main() Point * ptr=new Point2; Deleteptr; (分数:4.00)_48.在下面横线处填上正确的内容,完成类的定义。 class sample int x; static const int b; public: sample(int, int); const int ; _b=15; sam
16、ple:sample(int i, int j):_ (分数:4.00)_49.类 One 的对象可以通过任意一个成员函数访问类 Two 的对象的私有数据。 #includeiostream using namespace std; class Two int y; public: _/声明 One 为 Two 的友元 ; class One int x; public: One(int a, Two x=a; r.y=b; _/可以访问类 Two 的成员的成员函数的声明 ; void One:Display(Two void main() Two Obj2; One Obj1(23, Obj
17、2, 55); Obj1.Display(Obj2); /输出 23 55 (分数:4.00)_50.一个处理日期的类 Date,它有 3 个私有数据成员:Month,Day,Year 和若干个公有成员函数,并实现了如下要求:(1)构造函数重载;(2)成员函数设置默认参数;(3)定义一个友元函数来打印日期;(4)定义一个非静态成员函数设置日期;(5)可使用不同的构造函数来创建不同的对象。请完成下面的程序。 #includeiostream using namespace std; class Date public: Date() Year=1990; Month=1; Day=1; Date
18、(int y, int m=1, int d=1) Year=y, Month=m; Day=d; _ void SetDate(int sy, int sm, int sd) Year=sy; Month=sm; Day=sd; private: int Month, Day, Year; ; void Print( _ ) coutobj.Year“-“obj.Month“-“obj.Dayendl; void main() Date a1, a2(2013, 7, 8), a3(2005); Print(a1); Print(a2); Print(a3); a3.SetDate(2005
19、, 11, 28); Print(a3); (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给出下面程序的输出结果。 #includeiostream using naillespace std; class Base private: int a; public: void set(int x)a=x; void show()cout“a=“a“, “; ; class Sample: public Base private: int b; public: void set(int x=0)Base:set(x); b=x+10; void set(int x, in
20、t y)Base:set(x); b=y; void show()Base:show(); cout“b=“bendl; ; void main() Sample b; Sample.set(10); Sample.show() Sample.set(30, 50); Sample.show() (分数:5.00)_52.#includeiostream using namespace std; class Base private: int x, y; const int p; public: Base(int m, int n, int d):p(d) /通过初始化列表来获得初值 x=m;
21、 y=n; void show(); void show() const; ; void Base:show() coutx“, “y“p=“pendl; void Base:show const coutx“, “y“const p=“pendl; void main() Base a(1, 2, 3); const Base b(2, 1, 4); b.show(); a.show(); (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.定义一个 Rectangle 类,在该类定义中包括以下数据成员:长 length,宽 width,高 height。构造函数 Rec
22、tangle 设置长方形的长、宽和高,函数 Volume 计算并输出长方形的体积。 在 main 函数中,要求创建 Rectangle 对象,并求长方形的体积。 (分数:10.00)_C+程序设计自考题模拟 12 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在类中声明的成员可以使用以下哪个关键字进行修饰_(分数:1.00)A.externB.autoC.regusterD.void 解析:考点 C+类的声明 解析 类是具有唯一标识符的实体,在类中声明的任何成员不能使用 extern、auto、register 关键字进行修饰。2.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 12 答案 解析 DOC
