首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷484

国家二级C++机试(操作题)模拟试卷484

本单篇文档共4436字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 1573人下载
价格: 0.60 原价:¥8.00
收藏

国家二级C++机试(操作题)模拟试卷484

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,其中有点类Point和线段类Line和主函数main的定义,程序中位于每个“//ERROR****found****”之的一行语句有错误,请加以改正。改正后程序的输出应为:

p1=(8,4)p2=(3,5)

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

#include

#include

using namespace std;

class Point{

double x,y;

public:

Point(double x=0.0,double y=0.0)

//ERROR**********found**********

{x=x;y=y;}

double getX()const{return x;}

double getY()const{return y;}

//ERROR **********found**********

void show()const{cout<<’(’<<x<<’,’<<y<<’)’)<< <<’,’<<y<<’)’)

};

class Line{

Point p1,p2;

public:

Line(Point pt1,Point pt2)

//ERROR**********found**********

{pt1=p1;pt2=p2;}

Point getP1()const{return p1;}

Point getP2()const{return p2;}

};

int main()f

Line line(Point(8,4),Point(3,5));

cout<<\\

(1):x(x),y(y){}或{this->x=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()const{cout<<’(’<<x<<’,’<<y<<’)’}。可看出函数体内并没有“;”作为cout语句的结束符,因此程序错误。

(3)主要考查考生对构造函数的掌握,形参是pt1和pt2,这里写反了,也可以使用成员列表初始化法,可以避免这种错误。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.cpp,其中包含测试类Shape、Point和Triangle的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为:

此图形是一个抽象图形,周长=0,面积=0

此图形是一个三角形,周长=6.82843,面积=2

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

found****”。

//shape.h

class Shape{

public:

virtual double perimeter()

const{return 0;} //返回形状的周长

virtual double area()const{

return 0;} //返回形状的面积

virtual const char*name()

const{return\\

(1)x(x0),y(y0)

(2)Point point1,point2,point3

(3)return length(point1,point2)+length(point1,point3)+length(point2,point3)

(4)void show(Shape&shape)

解析:(1)主要考查考生对构造函数的掌握,题目要求用x0、y0初始化数据成员x、y,因此在这里使用成员列表初始化,即Point(double x0,double y0):x(x0),y(y0){}。

(2)主要考查考生对构造函数的掌握,题目要求定义3个私有数据成员。由构造函数可知3个私有数据成员的类型都是Point,名称分别为point1、point2和point3,因此空格处填写:Point point1,point2,point3。

(3)主要考查考生对成员函数的掌握,题目要求使用return语句,利用length函数计算并返回三角形的周长。

length函数返回的是两点间的距离,因此return语句只要返回三角形三条边的距离和,即为三角形的周长。

(4)主要考查考生对成员函数的掌握,这里要定义show函数的函数头(函数体以前的部分)。由主函数main中show函数的使用情况show(s)和show(tri)可知,s是Shape类,tri是Triangle类,因为Triangle是Shape类的派生类,所以可知show函数的参数是Shape类型,无返回值,得出语句void show(Shape&shape)。

综合应用题

3.请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种隋况下程序的输出应该是:

ValArray v1={1,2,3,4,5}

ValArray v2={1,2,3,4,5}

要求:

补充编制的内容写在“//*********333*********”与“//*********666*********”之间,不得修改程序的其他部分。

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

//ValArray.h

#include

using namespace std;

class ValArray{

int*V;

int size;

public:

ValArray(const int*p,int n):size(n)本文档预览:3600字符,共4436字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷484

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号