[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc

上传人:inwarn120 文档编号:497283 上传时间:2018-11-28 格式:DOC 页数:7 大小:34KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc_第1页
第1页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc_第2页
第2页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc_第3页
第3页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc_第4页
第4页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷215及答案与解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 215及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,其中有点类 Point和线段类 Line和主函数 main的定义,程序中位于每个 “ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出应为: p1=(8, 4)p2=(3, 5) 注意:只修改两个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 1 #include 2 #include 3 using namespace std; 4 5 clasS Point 6 double x, y

2、; 7 public: 8 Point(double x=0 0, double y=0 0) ERROR *found* 9 x=x; y=y; 10 double getX()constreturn x; 11 double getY()constreturn y; 12 ERROR *found* 13 void show()constcout 2 class vehicle 3 4 private: 5 int MaxSpeed; 6 int Weight; 7 public: 8 *found* 9 vehicle (int maxspeed, int weight): _ 10 v

3、ehicle(); 11 int getMaxSpeed()return Max-Speed; 12 int getWeight()return Weight; 13 ; 14 *found* 15 class bicycle: _public vehicle 16 17 private: 18 int Height; 19 public: 20 bicycle(int maxspeed, int weight, int height): vehicle maxspeed, weight),Height(height) 21 int getHeight()return Height; ; 22

4、 ; 23 *found* 24 class motorcar: _public ve-hicle 25 26 private: 27 int SeatNum; 28 public: 29 motorcar(int maxspeed, int weight, int seatnum): vehicle (maxspeed,weight), SeatNum(seatnum) 30 int getSeatNum()return SeatNum; ; 31 ; 32 *found* 33 class motorcycle: _ 34 35 public: 36 motorcycle(int maxs

5、peed, int weight, int height): vehicle(max speed,weight), bicycle(maxspeed, weight, height), motorcar(maxspeed, weight, 1) 37 ; 38 void main() 39 40 motorcycle a(8 0, 150, 100); 41 cout 3 using namespace std; 4 #include“prj3 h“ 5 int FriFun(FriFunClass x) 6 7 *333* 8 由于函数 FriFun()是类 FriFunClass的友元函数

6、,所以它可以直接访问 a和 b 9 *666* 10 11 int main() 12 13 FriFunClasS n(10, 20); 14 if(FriFun(n) 15 coutx=x, this-y=y; (2)void show()const cout(x, y); (3): p1(pt1), p2(pt2)或 p1=pt1; p2=pt2 【试题解析】 (1)主要考查考生对构造函数的掌握,因为形参名和私有成员名称一样,因此不能直接赋值,在这里使用成员列表初始化,也可以使用 this指针赋值。 (2)主要考查考生对语句基本语法的掌握,根据语句: void show()constco

7、ut(x, y)。可看出函数体内并没有 “; ”作为 cout语句的结束符,因此程序错误。 (3)主要考 查考生对构造函数的掌握,形参是 pt1和 pt2,这里写反了,也可以使用成员列表初始化法,可以避免这种错误。 二、简单应用题 2 【正确答案】 (1)MaxSpeed(maxspeed), Weight(weight); (2)virtual (3)virtual (4)public bicycle, public motorcar 【试题解析】 (1)主要考查考生对构造函数的掌握,构造函数使用初始化列表来对私有成员 MaxSpeed和 Weight初始化。 (2)主要考查考生对派生类的掌

8、握,题 目要求将 vehicle作为虚基类,避免二义性问题。因此在这里添加 virtual使 vehicle成为虚基类。 (3)主要考查考生对派生类的掌握,题目要求以 motorcar和 bicycle作为基类,再派生出 motorcycle类。在主函数中可以看到 motorcycle类的实例 a调用getHeight函数和 getSeat-Num函数,由此可知这两个基类都是公有继承,因此得出语句: public bicycle, public motoroarc, 三、综合应用题 3 【正确答案】 1 int min=x ax b?x a: x b;此处为取出 x a与 x b中的最小值 2 for(int i=2; i=min; i+)从 i到 min遍历数组 3 if(x a i =0 x b i =0) 4 如 i能同时整除 x a来的 x-b,则仅回 ireturn i; 5 return-1; 【试题解析】 主要考查考生对友元函数的掌握情况,友元函数可以访问类的私有数据成员,题目要求函数求出两个数据成员的大于 1的最小公因子,从 2开始往上算, 因此要同时可以被两个私有成员整除,这里用取余符号完成,取余为 0即为整除。

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

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

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