首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proi2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStaek类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proi2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStaek类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
admin
2018-06-19
58
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proi2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStaek类。
Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:
公有成员函数 功能
push 入栈:在栈顶位置添加一个元素
pop 退栈:取出并返回栈顶元素
ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的人栈和退栈操作。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:
a,b,c
c,b,a
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include<iostream>
using namespaee std;
class Stack{
public:
virtual void push(ehar c)=0;
virtual char pop()v0;
};
class ArrayStack:public Stack{
char * P;
int maxSize;
int top;
public:
ArrayStack(int s)
{
top=0;
maxSize=s:
//********found********
P=_______;
}
~ArrayStaek()
{
//********found********
_______;
}
void push(char c)
{
if(top==maxSize) }
cerr<<"Overflow!\n":
return;
}
//********found********
________;
top++:
}
char pop()
{
if(top==0){
CelT<<"Underflow!\n":
return’\0’:
}
top--;
//********found********
________;
}
};
void f(Stack& sRef)
{
char ch[]={’a’,’b’,’e’};
cout<<ch[0] <<"," <<ch[1] <<"," <<ch[2] <<end1;
sRef.push(ch[0]);sRef.push(ch[1]);sRef.push(ch[2]);
cout<<sRef.pop()<<",";
cout<<sRef.pop()<<",";
cout<<sRef.pop()<<end1;
}
int main()
{
ArrayStack as(10);
f(aus):
return 0;
}
选项
答案
(1)new char[s] (2)delete[ ]p (3)p[top]=c (4)return p[top]
解析
(1)主要考查的是ArrayStack类的构造函数,在函数中要为p申请s个char型空间,应使用语句p=new char[s];。
(2)主要考查析构函数,使用delete语句释放指针,即delete[ ]p;。
(3)主要考查push函数,top表示栈顶元素下标,添加的数据放到栈顶,因此使用语句p[top]=c;。
(4)主要考查pop函数,输出栈顶数据,top表示栈顶元素下标,因此使用语句return p[top];。
转载请注明原文地址:https://kaotiyun.com/show/ENAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类的构造函数的成员初始化列表中,不能包含
执行语句序列ofstreamoutfite("data.dat");if(...)cout<<"ok";elsecout<<"fail";后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“…”
与成员访问表达式p->name等价的表达式是______。
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是______。
结构化分析方法是面向()的自顶向下,逐步求精进行需求分析的方法。
下列程序编译错误,因为add函数返回值是一个引用,故对return返回值的要求是______。#include(iostream.h)int&add(intx,inty){returnx+y,}voidm
设计数据库的存储结构属于()。
重载的关系运算符和逻辑运算符的返回类型应当是______。
在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个______实际上对应一个处理模块。
在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送()。
随机试题
民事诉讼中,在处理司法公正与诉讼效率的关系时需要特别予以考虑的民事审判的特征是
下列关于胎儿淋巴囊肿的临床和声像图表现,不正确的是
患者,女,46岁,以“双手、颜面水肿、变硬8个月”来诊。查体:手指及面部皮肤增厚,嘴唇变薄,张口受限。手指、手背肿胀,指尖发凉,关节活动受限。化验:血清RF轻度增高,ANA阳性,血、尿常规正常。下列各项检查对诊断有意义的是
预计某宗房地产未来每年的有效毛收入不变,为16万元,运营费用第一年为8万元,此后每年会在上一年的基础上增加2%,该类房地产的报酬率为10%。请计算该宗房地产的收益价格。
已知三向量a=(t,0,1),b=(1,2,1),c=(1,1,1)共面,则t=()。
以下中( )不是风险评价的作用。
在工程施工过程中,确定已完工程量后,根据本月已完成合格工程量的项目名称,分项编号,单价得出合价,将全部项目合价相加,得出直接工程费小计;计算措施费、间接费、利润;计算主材差价;计算税金;累计得到本月应收工程进度款,这种方法是( )。
下列属于近代“天津四大书法家”的是()。
假定某一时期中国居民与非居民之间发生下列经济交易:(1)国内某企业进口一批机器设备价值10万美元;(2)购买美国政府发行的国库券100万美元;(3)国内某企业在美国市场发行可转换债券200万美元;(4)德国某公司从中
景德镇成为中国瓷都的时间大约为()。
最新回复
(
0
)