计算机二级考试C++上机操作题2文档格式.docx

上传人:b****5 文档编号:17578899 上传时间:2022-12-07 格式:DOCX 页数:8 大小:518.13KB
下载 相关 举报
计算机二级考试C++上机操作题2文档格式.docx_第1页
第1页 / 共8页
计算机二级考试C++上机操作题2文档格式.docx_第2页
第2页 / 共8页
计算机二级考试C++上机操作题2文档格式.docx_第3页
第3页 / 共8页
计算机二级考试C++上机操作题2文档格式.docx_第4页
第4页 / 共8页
计算机二级考试C++上机操作题2文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

计算机二级考试C++上机操作题2文档格式.docx

《计算机二级考试C++上机操作题2文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C++上机操作题2文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

计算机二级考试C++上机操作题2文档格式.docx

  

  参考解析:

【参考答案】

(1)MyClass(inti=0):

NUM(0){

  

(2)voidIncrement(MyClass&

f){f._i++;

}

  (3)Increment(obj);

  【考点分析】

  本题考查的是MyClass类,其中涉及友元函数、构造函数、常量数据成员、成员函数和友元函数的调用。

友元函数的定义要与函数声明相呼应,即返回值、参数类型、参数个数要一致。

友元函数的调用不需要使用类名和作用域。

  【解题思路】

  

(1)主要考查考生对常量数据成员初始化方法的掌握,常量数据成员的初始化只能通过构造函数的成员初始化列表进行,并且要使用关键字const修饰。

该题的前一条语句constintNUM;

说明NUM是常量数据成员。

  

(2)主要考查考生对友元函数的掌握,友元函数的定义与声明要一致,先看该友元函数的声明部分:

friendvoidIncrement(MyClass&

f);

返回类型为void,函数参数为MyClass&

f;

再比较出错的语句:

voidIncrement(){f._i++;

},错误在于该函数没有参数,应把MyClass&

f填在括号内。

  (3)主要考查友元函数的调用,友元函数并不属于类,因此调用友元函数时不需要添加类名及作用域,只需要像调用普通函数一样即可。

  【解题宝典】

  类的常量数据成员初始化必须使用成员初始化列表进行,否则必然出错。

友元函数与普通函数的区别在于,友元函数可以通过对象名调用类的全部成员,包括私有成员。

所有函数的声明和定义必须一致,包括函数返回值、参数类型、参数个数及有无const关键字。

简单应用题

  2[简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有日期类Date、人员类Person及排序函数sortByName和主函数main的定义。

请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。

此程序的正确输出结果应为:

  按姓名排序

  排序前

  张三男出生日期:

1978年4月20日

  王五女出生日期:

1965年8月3日

  杨六女出生日期:

1965年9月5日

  李四男出生日期:

1973年5月30日

  排序后:

  李四男出生日期:

  张三男出生日期:

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

【参考答案】

(1)is_male(is_male),birth_date(birth_date)

  

(2)returnstrcmp(name,p.getName());

  (3)<

  本题考查Date类和Person类,其中涉及构造函数、const函数、bool型私有成员及成员函数,以及strcmp()函数。

  

(1)主要考查考生对构造函数的掌握,由函数体内strcpy(this->

name,name);

可知,要使用成员列表初始化的成员为is_male和birth_date。

  

(2)主要考查考生对strcmp()函数的掌握,先看程序对该函数的功能要求:

利用strcmp()函数比较姓名,返回一个正数、0或负数,分别表示大于、等于、小于。

因为strcmp()函数的功能是比较字符串大小,因此可以直接被return语句调用:

returnstrcmp(name,p.getName());

  (3)主要考查考生对成员函数的掌握,程序的注释为:

显示出生月,由此可以知道这里要输出出生月份,直接调用函数getMonth()即可。

  strcmp()函数、strcpy()函数、strlen()函数等是经常会用到的系统函数,要了解各个函数的功能:

strait(连接)、strcly(复制)、strump(比较)、strlen(求长度)。

综合应用题

  3[简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyRectangle;

程序应当显示:

  (0,2)(2,2)(2,0)(0,0)4

  但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:

  

(1)在“//**1******found****”的下方是构造函数的定义,它用参数提供的左上角和右下角的坐标对upjeft和down_right进行初始化。

  

(2)在“//**2******found****”的下方是成员函数getDownLeft的定义中的一条语句。

函数getDownLefit返回用MyPoint对象表示的矩形的左下角。

  (3)在“//**3******found****”的下方是成员函数area的定义,它返回矩形的面积。

只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。

【参考答案】

(1)MyPointpl,MyPointp2

  

(2)up_left.getX(),down-right.getY()

  (3)doubleMyRectangle:

  本题考查表示平面坐标系中的点的类MyPoint、表示矩形的类MyRectangle、构造函数和成员函数。

  

(1)考查构造函数,构造函数中的参数要给私有成员赋值,在下句中up_left(p1),down_right(p2){}指出私有成员赋值要使用形参p1和p2,因此这里参数要定义为MyPointp1,MyPointp2。

  

(2)主要考查成员函数的返回语句,MyPointMy

  Rectangle:

getDownLeft()const函数要求返回一个左下角的点坐标,因此使用语句MyPoint(up_left.getX(),down_right.getY());

  (3)主要考查成员函数的定义,在MyRectangle类中已经声明doublearea()const,因此此处只要添加doubleMyRectangle:

即可。

  构造函数的参数定义时要注意在赋值语句中使用的参数。

考查构造函数一般都会考查到形参,应注意联系上下文。

类的成员函数在类外定义时要在函数名前面加上:

返回值类型+类名+作用域(:

)。

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

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1