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

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

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

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

基本操作题

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

The valRe is:10

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

//proj1.cpp

#include

using namespace std;

class Member{

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

private:

Member(int val):value(val){}

int value;

};

class MyClass{

Member m;

public:

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

MyClass(int val){}

int GetValue()const{return

m.value;}

};

int main()

{

MyClass*obj=new MyClass

(10);

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

下列语句输出obj指向类中的value值

cout<<\\

(1)public:

(2)MyClass(int val):_m(val){}或MyClass(int val){_m=val}

(3)cout<<\\

解析:(1)主要考查考生对私有成员和公有成员的掌握,先看改错语句的下一条语句:Member(int val):value(val){},该语句是一个构造函数,因此我们可以得出此处为公有成员,因为构造函数不可能是私有成员。

(2)主要考查构造函数,构造函数要对类的成员进行初始化,因此在这里使用成员列表初始化,即MyClass(int val):_m(val){}或MyClass(int val){_m=val}。

(3)指针调用类的成员函数时,应使用标识符“->”。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

4 6 3 1 8

4 6 3 1 8

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

#include

using namespace std;

class IntStack{ //整数栈类

public:

virtual void push(int)=0;

//入栈

virtual int pop()=0;

//出栈并返回出栈元素

virtual int topElement()

const=0;

//返回栈顶元素,但不出栈

virtual bool isEmpty()const=0;

//判断是否栈空

};

class SeqStack:public IntStack{

int data[100];//存放栈元素的数组

int top; //栈顶元素的下标

public:

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

SeqStack():_________{)//把top初始化为-1表示栈空

void push(int n){data[++top]=n;}

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

int pop(){return_________;)

int topElement()const{ return data[top];)

bool isEmpty()const{return top=-1;}

};

Struct Node{

int data;

Node*next;

};

class LinkStack:public IntStack{

Node*top;

public:

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

LinkStack():___________{)

//把top初始化为NULL表示栈空

void push(int n){

Node*p=new Node;

p->data=n;

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

_________;

top=p;

}

int pop(){

int d=top->data;;

top=top->next;

return d;

}

int topElement()const{return top->data;}

bool isEmpty()const{return

top==NULL;}

};

void pushData(IntStack&st){

st.push(8);

st.push(1);

st.push(3);

st.push(6);

st.push(4);

}

void popData(IntStack&st){

while(!st.isEmpty())

cout<<st.pop()<<’’;

}

int main(){

SeqStack st1;pushData(st1);

popData(st1);

cout<<endl;

LinkStack st2;pushData(st2);

popData(st2);

cout<<endl;

return 0;

}

(1)top(-1)

(2)data[top-]

(3)top(NULL)

(4)p->next=top

解析:(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为-1表示栈空,即要把top赋值为-1即可。

(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号