首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
admin
2019-06-07
58
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。
Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:
公有成员函数 功能
push 入栈:在栈顶位置添加一个元素
pop 退栈:取出并返回栈顶元素
ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:
a,b,c
c,b,a
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
using namespace std;
class Stack;
public:
virtual void push(char c)=0;
virtual char pop()=0;
};
class ArrayStack:public Stack{
char * p;
int maxSize;
int top;
public:
ArrayStack(int s)
{
top=0;
maxSize=s:
//********found********
p=________;
}
~ArrayStack()
{
//********found********
_______;
}
void push(char c)
{
if(top==maxSize){
Celt<<"Overflow!\n";
return;
}
//********found********
______;
top++:
}
char pop()
{
if(top=0){
Celt<<"Underflow!\n";
return’\0’;
}
top--:
//********found********
______;
}
};
void f(Stack& sRef)
{
char eh[]={’a’,’b’,’e’};
eout<
sRef.push(eh[0]);sRef.push(ch[1]);sRef.push(ch[2]);
eout<
eout<
eout<
}
int main()
{
Arraystack as(10);
f(as);
return 0;
}
选项
答案
(1)new char[s] (2)delete[]p (3)p[top]=c (4)retum p[top]
解析
(1)主要考查的是ArrayStack类的构造函数,在函数中要为p申请s个char型空间,应使用语句p=newchar[s];。
(2)主要考查析构函数,使用delete语句释放指针,即delete[]p;。
(3)主要考查push函数,top表示栈顶元素下标,添加的数据放到栈顶,因此使用语句p[top]=c;。
(4)主要考查pop函数,输出栈顶数据,top表示栈顶元素下标,因此使用语句retum p[top];。
转载请注明原文地址:https://kaotiyun.com/show/5m8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
若有定义语句“intx=10,y=20z=20;”,则表达式x>z&&y=z的值为______。
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。A)内联函数B)重载函数C)递归函数D)函数模板
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
执行以下程序,输出结果的最后一行语句是__________。#includeclassSample{intx,y;public:Sample0{x=y=0;}
程序中有如下语句:for(inti:0;i
下面关于继承和派生的叙述中,正确的是()。
需求分析阶段的任务是()。
将E-R图转换为关系模式时,实体和联系都可以表示为
随机试题
建筑高度为24m的医院的耐火等级不低于()级。
X理论与Y理论的提出者是美国心理学家()
关于法律的历史类型的更替,下列表述中正确的有哪些选项?()
矩形渠道断面宽度4m,水深2m,流量8m3/s,渠底坡度为0.0001,其粗糙系数为()。
家庭财产保险的保险标的的残余部分,应当()。
数据显示,下列5家银行的合格优质流动性资产、未来30天现金净流量、流动性资产余额、流动性负债余额分别为:甲:10、8、30、100乙:8、10、30、100丙:74、75、174、1740丁:240、200、400、1000戊:3725、3730
甲公司欲添置一台设备,正在研究应通过自行购置还是租赁取得。有关资料如下:(1)如果自行购置该设备,预计购置成本600万元。该项固定资产的税法折旧年限为6年,法定残值率为购置成本的10%,采用直线法计提折旧。预计该资产4年后变现价值为120万元。(2)如
火车A过隧道,从车头进入隧道到车尾离开隧道共用时60秒,随后与迎面开来的另一列火车B相遇,两车速度相同,火车B的长度是A的1.5倍,两车从车头相遇到车尾分开共用时5秒。问:火车B从车尾进入隧道到车头离开隧道,要用时多少秒?
Justsevenyearsago,theTexasLegislatureprescribedthatallhighschoolersmustpasstwomathcoursesandgeometrytogradua
MedicineAwardKicksoffNobelPrizeAnnouncementsTwoscientistswhohavewonpraiseforresearchintothegrowthofcancer
最新回复
(
0
)