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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程pmjl,此工程包含—个源程序文件projl.cpp。其中位于每个注释“//ERROR****found*****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:You are right.

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

//projl.cpp

#include

using namespace std;

class MyClass

{

public:

MyClass(int X):number(x){l

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

一MyClass(int X){)

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

void Judge(MyClass&obj);

private:

int number;

};

void Judge(MyClass&obj)

{

if(obj.number==i0)

cout<<“You are right.”<<endl;

else

cout<<”Sorry”<<endl;

}

int main()

{

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

MyClass object;

Judge(object);

return 0;

}

(1)一MyClass(){}

(2)friend void Judge(MyClass&obj);

(3)MyClass object(10);

解析:(1)主要考查考生对析构函数的掌握,析构函数是没有形参的,因此把形参去掉即可,因为该类没有动态分配空间,所以不需要使用delete语句释放空间。

(2)主要考查考生对友元函数的掌握,在函数定义中有语句void Judge(MyClass&obj),在main函数中有语句Judge(object);,即Judge函数是可以被类外函数调用的,并且定义时没有加上类名和作用域,因此可以知道Judge函数是友元函数,需要在类型前加上friend。

(3)主要考查考生对构造函数调用的掌握,题目要求输出结果为:You ale right.,在Judge函数体内有语句:

if(obj.number==10)

cout<<”YOU are right.”<<endl;

要想使屏幕输出语句:You are aght.,就必须使obj.number的值为10,因此要使用构造函数语句MyClass object(10);。

2.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程含有一个源程序文件pmj1.cpp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:

The value is 10

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

//proj1.cpp

#include

using namespace std;

class MyClass{

int value;

public:

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

void MyClass(int val):value(val)

{}

int GetValue()const{return value;}

void SetValue(int val);

};

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

inline void SetValue(int val){value

=val;}

int main()

{

MyClass obj(0);

obj.SetValue(10);

//ERROR**********found*********** 下列语句功能是输出obj的成员value的值

cout<<”The value is”<<obj.val

ue<<endl;

return 0;

}

(1)MyClass(int val):value(val){}

(2)void MyClass::SetValue(int val){value=val;}

(3)cout<<”The value is”<<obj.GetValue()<<endl;

解析:(1)考查构造函数,定义构造函数时不能使用void,直接使用MyClass(int val)即可。

(2)主要考查成员函数定义,类的成员函数定义时要使用前缀MyClass,而inline是内联函数的关键字,在此是错误的,应该删掉inline并在函数名前加上前缀MyClass,即voidMyClass::SetValue(int val){value=val;}。

(3)考查成员函数调用,value是私有成员,在主函数中不能直接调用value,可以使用成员函数GetValue()来得到value的值。

简单应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为:

20

10

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

#include

using namespace std;

class CPolygon{

public:

//*************found**********

_______**纯虚函数area声明

void printarea(void)

//**********found**********

{cout<<______<<endl;}

};

class CRectangle:public CPolygon{

int width; //长方形宽

int height;//长方形高

public:

CRectan

本文档预览:3600字符,共8355字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号