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

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

1、国家二级 C+机试(操作题)模拟试卷 28及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: Hello 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 1 #include 2 void main() 3 4 *error* 5 typedef BOOL bool; 6 *error* 7 BOOL a=FALSE ; 8 int i=0X80000000; 9 *error* 10 a=!i ; 11 if(a)

2、 12 13 cout 2 #define MAXLEN 1024 3 void ToUpper(char*des, char*str) 4 5 6 7 void main() 8 9 char destMAXLEN; 10 char*str=“aBcdrFGHij K“; 11 ToUpper(dest, str); 12 cout 2 #include 3 #define PI 3 1415926 4 class CMyPoint 5 6 public: 7 int x, y; 8 CMyPoint(int tx, int ty): x(tx), y(ty) 9 ; 10 class CM

3、yShape 11 12 public: 13 CMyShape()coutGetArea() GetGirth()GetArea() GetGirth()=a &stri =a&stri(): 0,由程序后面的函数体实现可知求面积纯虚函数的函数名为GetArea0,因此第 1个标识下应添加 “virtual double GetArea0=0; ”。 (2)声明格式和 (1)相同,由求周长的函数具体实现可知该函数的名为GetGirth(),因此第 2个标识下应添加 “virtual double OetGirth()=0; ” (3)主函数中定义了 CMyShape类对象指针 myShape

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

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

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

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