首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
admin
2017-07-04
54
问题
请使用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()oonst=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<
}
int main(){
SeqStack st1; pushData(stl);pop Data(stl);
cout<
LinkStack st2;pushData(st2);pop Data(st2);
cout<
return 0;
}
选项
答案
(1)top(一1) (2)data[top--] (3)top(NULL) (4)p->next=top
解析
(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为一1表示栈空,即要把top赋值为一1即可。
(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过data[top]得到,出栈同时要使得top往下移动,即top--。
(3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NULL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。
(4)主要考查考生对栈的掌握,push为入栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p一>next=top:。
转载请注明原文地址:https://www.kaotiyun.com/show/2LAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的执行结果是【 】。#include<iostream.h>classStudent{public:Student(intxx){x=xx;}virtualfloatcalcFuition();protecte
如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为【 】。#include<iostream.h>classtest{private:intnum;public:test(int)voi
设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是
下列关于关系运算的叙述中正确的是
符号常量可以用宏定义define和______来表示。
转义字符序列中的首字符是______字符。
数据库设计包括两个方面的设计内容,它们是()。
下列程序时类D代码段出现编译错误,原因是【 】。#include<iostream.h>classA{public:A(charc){cout<<"A’sconstructor."<<c<<endl
下列格式化I/O的操作符中,()是设置域宽的。
下列字符串中,正确的C++标识符是()。
随机试题
(2020年节选)甲公司20×8年度财务报表经董事会批准于20×9年3月15日向外报出,甲公司与20×8年度财务报表相关的交易或事项如下:(1)20×8年1月1日,甲公司从无关联关系的第三方处受让了其所持有乙公司30%股权,转让价格为2000万元,款项已
A.黄连、黄芩、黄柏B.黄芩、黄连、栀子C.黄芩、连翘、甘草D.黄芩、黄柏、栀子普济消毒饮与凉膈散中均含有的药物是
患者,女,45岁,“胃溃疡”病史20余年,因类风湿关节炎需服用NSAID,最不宜选用的药物是
化疗病人考虑停药的指征包括
下列关于交易结算报告的提供和查询的表述,错误的是()。
如果拆迁人延长了过渡期限,对于拆迁人已经安排了周转房的使用人()。
甲、乙两公司于9月10日签订一份加工合同,合同约定乙公司于12月10目前完成为甲公司加工一批专用机器配件的任务。为保证合同的履行,他们同时约定了定金条款。9月12日甲公司将机器配件的毛坯交给乙公司,9月15日甲公司将定金汇到乙公司的账户。定金合同的生效日期
为了方便人们锻炼,小区里有大量体育锻炼设施。现在已经老化,带来安全隐患,你该怎么做?
在Outlook中,通常借助(68)来传送一个文件。
Directions:Thereare10questionsinthispartofthetest.Readthepassagethrough.Then,gobackandchooseonesuitablewor
最新回复
(
0
)