【学历类职业资格】C++程序设计自考题模拟13及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟13及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟13及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 13 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在非静态成员函数声明的前面加上以下哪个关键字,即把该函数声明为虚函数_(分数:1.00)A.publicB.voidC.staticD.virtual2.下列关于动态联编的描述,其中错误的是_(分数:1.00)A.动态联编调用函数操作是指向对象的指针或对象引用B.动态联编是以虚函数为基础的C.动态联编运行时确定所调用的函数代码D.动态联编是在编译时确定操作函数3.下列关于虚函数的叙述错误的是_(分数:1.00)A.虚函数只是类中的一个成员函数B.虚函数可以
2、是类的静态成员C.当基类定义了虚函数,派生类中同名函数也自动为虚函数D.虚函数用关键字 virtual 声明4.在派生类中,定义了一个同名虚函数时,必须在哪方面与基类中同名的虚函数保持一致_(分数:1.00)A.参数类型B.操作内容C.参数名字D.赋值5.虚函数实现多态性的前提不包括_(分数:1.00)A.类之间的继承关系满足赋值兼容性规则B.改写了同名虚函数C.虚函数是类中的一个成员函数D.根据赋值兼容性规则使用指针(或引用)6.通过_建立的一系列类称为类族。(分数:1.00)A类B.数组C.指针D.继承7.下列 C+的运算符中可以重载的是_(分数:1.00)A.()B.*C.:D.?8.如
3、果运算符“+”通过友元来重载,则可以表示为_(分数:1.00)A.obj1.operator+(obj2)B.operator+(obj2)C.operator+(obj1, obj2)D.obj2.operator+(obj1)9.如果自加运算符“+”是作为成员函数重载的运算符,采用运算符函数调用格式,则可表示为_(分数:1.00)A.operstor+(1)B.operator+(a, 1)C.operator+(a)D.operator+()10.C+对文件进行写入读出操作,需要包含的头文件是_(分数:1.00)A.iomanip.hB.fstreamC.iostreamD.stdio.
4、h11.使用 C+输入流 cin 进行文本输入 str,当输入 Object windows programming!时所得的结果是str=_(分数:1.00)A.Object WindowsB.ObjectC.Object Windows ProgrammingD.Object Windows Programming!12.使用 C+输出流 cout 输出字符“A“,下列错误的是_(分数:1.00)A.cout“A“;B.coutput(“A“);C.char A=“A“;coutA;D.cout.put(“A“);13.在 ios 中,指定文件以二进制方式打开,默认为文本方式的标志位是_(
5、分数:1.00)A.ateB.truncC.binaryD.nocreate14.关于运算符重载,下列说法错误的是_(分数:1.00)A.不是所有的运算符都可以重载B.通过重载可以使运算符应用于自定义的数据类型C.通过重载不可以创造原来没有的运算符D.通过重载可以改变运算符的优先级15.声明虚函数的目的是使_(分数:1.00)A.派生类既能继承基类对虚函数的实现,又能继承虚函数提供的接口B.派生类仅继承函数的接口C.派生类继承基类对虚函数的实现D.派生类对函数进行改写16.下列有关抽象类的描述,属于其性质的是_(分数:1.00)A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.
6、不能说明其对象17.使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是_(分数:1.00)A.ios:truncB.ios:binaryC.ios:inD.ios:out18.判断流对象是否成功地与文件关联的函数是_(分数:1.00)A.fail()B.clear()C.is_open()D.eof()19.下列关于继承的说法正确的是_(分数:1.00)A.继承总是成员函数接口B.继承总是虚函数C.继承总是成员函数D.继承总是公有成员函数20.定义一个类,一个操作符可以进行几种重载_(分数:1.00)A.1 种B.12 种以下C.32 种以下D.多种二、第部分
7、 非选择题(总题数:20,分数:20.00)21.在 C+语言中,多态性可分为两类: 1 和 2。 (分数:1.00)22.C+中的虚函数帮助类实现了 1。 (分数:1.00)23.关键字 virtual 指示 C+编译器对调用虚函数进行 1。 (分数:1.00)24.若将一个二元运算符作为类的成员函数进行重载,其形参个数应该是 1 个。 (分数:1.00)25.运算符重载其实就是函数重载,需要使用新的关键字 1。 (分数:1.00)26.如果运算符自减 1“-”是重载的类成员函数运算符,采用运算符函数调用格式时,该表达式应表示为 1。 (分数:1.00)27.插入符“”和提取符“”的重载必须
8、作为类的 1 重载。 (分数:1.00)28.下标运算符只能用 1 运算符来重载,不能用友元运算符来重载。 (分数:1.00)29.C+中执行输入/输出操作的类体系叫做 1,并由流类库提供实现。 (分数:1.00)30.C+中 ostream 类的直接虚基类是 1。 (分数:1.00)31.C+提供了两种新的格式控制方式,一种是使用 1 提供的接口,另一种是使用内部格式控制函数。 (分数:1.00)32.ios_base 类的常量 right 值的含义是 1。 (分数:1.00)33.运用 1,软件开发者可以把一个复杂的功能分解为一些子功能,如果子功能仍然比较复杂,则可以进一步分解。 (分数:
9、1.00)34.在面向对象程序设计的系统中,其基本单位是 1。 (分数:1.00)35.面向对象设计使用 1 映射问题域中的事物。 (分数:1.00)36.对象将其大部分实现细节隐藏起来,仅对外公开接口,这种机制称为 1。 (分数:1.00)37.寻找候选对象的基本方法的主要策略是从 1、系统边界和系统责任三方面找出可能有的候选对象。 (分数:1.00)38.在面向对象的程序设计中,描述一组对象的共同的属性和形为的一种抽象机制叫做 1。 (分数:1.00)39.之所以声明虚函数,目的在于使派生类既继承函数 1,也继承虚函数的实现。 (分数:1.00)40.在 C+中,每个对象都是所属类的一个
10、1。 (分数:1.00)三、改错题(总题数:5,分数:20.00)41.#includeiostream using namespace std; class Base public: virtual void f 1=0; ; class Sample: public Base public: virtual void f 2; cout“Test.fun=“endl; ; void main 3 Base a; Test *p; P= (分数:4.00)42.#includeiostream using namespace std; class B public: B 1cout“B co
11、nstruct“endl; virtual void f 2=0; ; class Dev: public B public: Dev 3cout“B construct“endl; virtual void f 4cout“Dev:f“endl; ; void main 5 B*=a=new B 6; Dev p; a = a-f 7; (分数:4.00)43.重载+运算符,执行后缀操作 n+。 #include iostream using namespace std; class number int num; public: number(int i) num=i; friend in
12、t operator+(number, int); void print 1 cout“num=“numendl; ; int operator + + (number a int) int i = a.num +; return i; (分数:4.00)44.#includeiostream using namespace std; class A int i; public: virtual void fun 1=0; A(int a) i=a; ; class B: public A int j; public: void fun 2 cout “B:fun 3/n“; B(int m,
13、 int n =0):j(n) ; void main 4 A *pa; B B(7); pa = (分数:4.00)45.#includeiostream using namespaee std; void main 1 char ch15, * p = “abcdefg“; ofstream myFile; myFile.open(“myText.txt“); my Filep; myFile.close 2; (分数:4.00)四、完成程序题(总题数:2,分数:20.00)46.设计一维数组 iArray 类,对其重载下标运算符,并能在进行下标访问时检查下标是否越界。 class iAr
14、ray int*v; /指向存放数组数据的空间 int s; /数组大小 public: iArray(int a, int n); iArray()deletev; int size()return s; int ; _ operator(int n) /的运算符成员函数定义 if(n0.1 | n=s)cout“下标越界!“; exit(1); return _ ; (分数:10.00)_47.完成程序,使输出结果如下: Constructing A Come here and goClass C Destructor C Destructing A #includeiostream us
15、ing namespace std; class A public: A() virtual void funccout“Constructing A“endl; A() _cout“Destructing A“endl; ; class B: public A public: B()func(); void fun()cout“Come here and go“; func(); B()fund(); ; class C: public B public: C() void func()cout“Class C“endl; C()fund(); void fund()cout“Destruc
16、tor C“endl; void main() C c; c.fun(); (分数:10.00)_五、程序分析题(总题数:2,分数:10.00)48.给出下面程序的输出结果。 #includeiostream using namespace std; class base public: virtual void fun()cout“base class“endl; ; class derivel: public base public: void fun()cout“derivel class“endl; ; class derive2: public base public: wid fu
17、n()cout“derive2 class“endl; ; void main() base obji, *p; derive1 obj2; derive2 obj3; p= p-fun(); p= p-fun(); p=obj3; p-fun(); (分数:5.00)_49.#includeiostream using namespace std; class Sample private: int x; public: Sample()x=0; void disp()cout“x=“xendl; void operator+()x+=10; ; void main() Sample obj
18、; Obj.disp(); Obj+; cout“执行 obj+之后“endl; Obj.disp(); (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)50.定义复数类 complex,采用成员函数的形式对复数加法计算“+”进行运算符重载。 (分数:10.00)_C+程序设计自考题模拟 13 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在非静态成员函数声明的前面加上以下哪个关键字,即把该函数声明为虚函数_(分数:1.00)A.publicB.voidC.staticD.virtual 解析:考点 C+虚函数的定
19、义 解析 virtual 表明该函数被声明为虚函数。2.下列关于动态联编的描述,其中错误的是_(分数:1.00)A.动态联编调用函数操作是指向对象的指针或对象引用B.动态联编是以虚函数为基础的C.动态联编运行时确定所调用的函数代码D.动态联编是在编译时确定操作函数 解析:考点 动态联编 解析 静态联编在编译时就可确定调用哪个函数,动态联编是程序进行到需要的语句时才确定的。3.下列关于虚函数的叙述错误的是_(分数:1.00)A.虚函数只是类中的一个成员函数B.虚函数可以是类的静态成员 C.当基类定义了虚函数,派生类中同名函数也自动为虚函数D.虚函数用关键字 virtual 声明解析:考点 C+虚
20、函数的定义 解析 当基类定义了虚函数,派生类中同名函数也自动为虚函数,虚函数只是类中的一个成员函数,但不能是类的静态成员,关键字 virtual 用于类中该函数的声明。4.在派生类中,定义了一个同名虚函数时,必须在哪方面与基类中同名的虚函数保持一致_(分数:1.00)A.参数类型 B.操作内容C.参数名字D.赋值解析:考点 虚函数的定义 解析 当在派生类中定义一个同名的虚函数时,需要该成员函数的参数个数和相应类型及返回类型与基类中同名的虚函数完全一样。5.虚函数实现多态性的前提不包括_(分数:1.00)A.类之间的继承关系满足赋值兼容性规则B.改写了同名虚函数C.虚函数是类中的一个成员函数 D
21、.根据赋值兼容性规则使用指针(或引用)解析:考点 C+虚函数实现多态性的条件 解析 产生多态性的前提有:类之间的继承关系满足赋值兼容性规则,改写了同名虚函数,根据赋值兼容性规则使用指针(或引用)。6.通过_建立的一系列类称为类族。(分数:1.00)A类 B.数组C.指针D.继承解析:考点 类族 解析 通过同一个基类派生出的一系列的类总称为类族。7.下列 C+的运算符中可以重载的是_(分数:1.00)A.() B.*C.:D.?解析:考点 C+运算符的重载 解析 C+运算符大部分可以重载,不能重载的只有“.、:*?”。8.如果运算符“+”通过友元来重载,则可以表示为_(分数:1.00)A.obj
22、1.operator+(obj2)B.operator+(obj2)C.operator+(obj1, obj2) D.obj2.operator+(obj1)解析:考点 C+运算符的重载 解析 C+的关键字“operator”和运算符一起使用,就表示一个运算符,作为友元函数重载,“+”运算符需要两个参数,所以应写为 operator+(obj1, obj2)。9.如果自加运算符“+”是作为成员函数重载的运算符,采用运算符函数调用格式,则可表示为_(分数:1.00)A.operstor+(1)B.operator+(a, 1)C.operator+(a)D.operator+() 解析:考点
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 13 答案 解析 DOC
