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

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

1、国家二级 C+机试(操作题)模拟试卷 17及答案与解析 一、基本操作题 1 使用 VC+6 0打开考生文件夹下的源程序文件 1 cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容: 0012FF68 1 OOl2FF3C 5 0012FF6C 2 0012FF44 4 0012FFT0 3 0012FF4C 3 0023FF74 4 0012FF54 2 0012FF78 5 0012FF5C 1 006AFDCC 006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为 4的连续地址即可。 注意:不要改动 main函数,不能增加或删除

2、行,也不能更改程序的结构,错误的语句在 *error*的下面。 试题程序: #include using namespace std; int main() int*p, a5=1, 2, 3, 4, 5; double*q, b5=5 0, 4 0, 3 0, 2 0, 1 0; int x; P=a: q=b; *error* for(x=0; x #include #define PI 3 1415926 class CMyPoint public: int x, y; CMyPoint(int tx, int ty): x(tx), y(ty) ; class CMyShape pub

3、lic: CMyShape()coutGetGirth ()()=0”,由程序后面的函数体实现可知求面积纯虚函数的函数名称为 GetArea,因此第 1处应添加 “virtual double GetArea()=0; ”。声明 格式和 1)相同,由求周长的函数具体实现可知该函数的名称为 GetGirth,因此第 2处应添加 “virtual double GetGirth()=0; ”。 主函数中定义了 CMyShaPe类对象指针 myShape, CCircle类对象指针myCircle, CRectangle类对象指针 myRectangle。由类继承关系知,在调用子类的构造函数时,编译

4、器会自动调用父类的默认构造函数来初始化父类,因此在实例化类 CRectangle和类 CCircle的实例时,抽象父类 CMyShape的默认构造函数会先被调用 ,因此在屏幕上先输出 “在 CMyShape类构造函数内 ”,然后输出 “在CCircle类构造函数内 ”,实例化 CRectangle对象的过程也是如此。同时由纯虚函数的性质知抽象基类不需要实现纯虚函数,它的实现是在子类中完成的,但通过周子类实例隐式转换成基类实例,可以使得基类实例具有子类实例的特性,因此可以访问子类的成员函数, myShape是基类指针,其虚函数 GetArea和GetGirth没有实现,要求程序输出的面积值和周长值,只可能是 myShape指向子类对象,调用子类的函数 GetArea和 GetGirth打 印输出,显然在第 3处是myShape指向子类 CCirele对象,即 “myShape=myCircle; ”。同理第 4处myShape指向子类 CRectangle对象,即第 4处应添加“myShape=myRectangle; ”。

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

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

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