考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C加加>模拟试题>正文
2018年3月计算机二级C++冲刺练习题及答案(1)
考试吧 2018-03-19 15:25:06 评论(0)条

  点击查看:2018年3月计算机二级C++冲刺练习题及答案汇总

  1 [简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main.cpp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“// ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:

  书名:C++语句程序设计总页数:299

  已把“C++语言程序设计”翻到第50页

  已把“C++语言程序设计”翻到第51页

  已把“C++语言程序设计”翻到第52页

  已把“C++语言程序设计”翻到第51页

  已把书合上。

  当前页:0

  注意:只修改每个“// ERROR **** found ****”下的那一行,不要改动程序中的其他内容。

2018年3月计算机二级C++冲刺练习题及答案(1)

2018年3月计算机二级C++冲刺练习题及答案(1)

2018年3月计算机二级C++冲刺练习题及答案(1)

  参考解析:

  【参考答案】 (1)Book(const char * theTitle,int pages):num_pages(pages)

  (2)void openAtPage(int page_no){//把书翻到指定页

  (3)cur_page=0;

  【考点分析】

  本题考查Book类,其中涉及动态数组、构造函数、析构函数、bool函数和成员函数。

  【解题思路】

  (1)主要考查考生对构造函数的掌握,构造函数的成员列表初始化法要注意它的格式,即成员列表前要有标识符“:”,因此语句改为:Book(const char * theTitle,int pages):num_pages(pages)。

  (2)主要考查考生对const函数的掌握,在函数体中可以看到有语句cur_page=page_no,即cur_page的值发生改变,因此该函数不是const函数。

  (3)主要考查考生对成员函数的掌握,题目要求输出的最后一条是“当前页:0”,可知主函数中调用close函数后当前页为0,因此应该是cur_page=0;。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  2 [简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

  Leaf Node

  注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“// ****found ****”。

2018年3月计算机二级C++冲刺练习题及答案(1)

2018年3月计算机二级C++冲刺练习题及答案(1)

  参考解析:

  【参考答案】 (1)virtual void print() const=0;

  (2)Component* child

  (3)cout <<”leaf Node”<

  【考点分析】

  本题考查抽象类Component类及其派生类Composite和Leaf,其中涉及纯虚函数和成员函数。纯虚函数要根据在派生类中该函数的返回值、参数、有无const来确定。

  【解题思路】

  (1)主要考查考生对纯虚函数的掌握,题目要求声明纯虚函数print()。在其派生类中print()函数的定义为virtual void print()const,由此可知纯虚函数为virtual void print()const=0。

  (2)主要考查考生对成员函数的掌握,题目要求填写函数void setChild的形参,由setChild的函数体可知形参为child,再看类的私有成员m_child的定义:Component* m_child;。由此可知形参为:Component* child。

  (3)主要考查考生对纯虚函数的掌握,先看主函数的程序:

2018年3月计算机二级C++冲刺练习题及答案(1)

  第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的m_child等于node,第四条语句定义了个指针p指向comp的地址,也就是node,最后一条语句通过指针p调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:cout<<”Leaf Node”<

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  3 [简答题]

  请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象中,然后建立另一对象myArray,将对象内容赋值给myArray。类intArray重载了“=”运算符。程序中给出了一个测试数据文件input,不超过300个的整数。程序的输出是:

  10

  11

  13

  16

  20

  要求:

  补充编制的内容写在“// ********** 333 **********”与“// ******** 666 ********”之间。实现重载赋值运算符函数,并将赋值结果在屏幕输出。格式不限。不得修改程序的其他部分。

  注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。

2018年3月计算机二级C++冲刺练习题及答案(1)

2018年3月计算机二级C++冲刺练习题及答案(1)

2018年3月计算机二级C++冲刺练习题及答案(1)

  参考解析:

  【参考答案】

2018年3月计算机二级C++冲刺练习题及答案(1)

  【考点分析】

  本题主要考查intArray类,其中涉及动态数组、构造函数、运算符重载、析构函数及其他成员函数。

  【解题思路】

  主要考查考生对运算符重载的掌握,该函数要重载运算符“=”,该运算符的意思是赋值。先看该函数的其他语句:

  

2018年3月计算机二级C++冲刺练习题及答案(1)

  第一条语句是把原来动态数组释放,第二条语句是把形参src的成员length赋值给变量length,第三条语句是给指针array分配内存。接下来要把动态数组中的值逐个赋给array数组,在这里使用for循环语句,循环变量i的范围是0~length,并进行赋值操作。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心