首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
admin
2019-06-07
60
问题
请使用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)数据控制语言
在软件开发中,需求分析阶段产生的主要文档是()。A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书
设根结点的层次为0,高度为K的二叉树最最大结点数为()个。
在TestClass类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。___________TestClass::operator=(constTestClass&rhs){if(this==&rhs)return
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
下面有关类模板的说法中不正确的是()。
设有关键码序列(66,13,5l,76,8l,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为()。
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为__________。
下面字符串中,不可以用作C++标识符的是()。
随机试题
管理者向董事和股东说明组织的财务状况和战略方向时,所扮演的是________角色。()
膝关节旋转挤压试验阳性是下列哪一种疾病的重要体征
高热一般指
机电工程采用横道图表示施工进度计划的优点是()。
用于分类记录单位的全部交易或事项,提供总括核算资料的账簿是()。
游客随身携带购买的中药材出境,其价值不得超过________元,去港澳地区不得超过________元,价格均以境内法定的商业发票为准。()
“马踏飞燕”是中国古代哪一时期的作品?()
2016年2月1日,中国人民解放军战区成立大会在北京八一大楼隆重举行。习近平主席发布训令:“各战区要毫不动摇听党指挥,坚持党对军队的绝对领导,时刻听从党和人民召唤,以实际行动谱写人民军队光荣历史新篇章,向党和人民交出优秀答卷。”这是因为()。
生活是一切艺术创作的源泉,这是每一位创作者熟记于心的创作_______。然而在这喧嚣浮躁的尘世中,真正能_______万千诱惑而一头扎进生活,却并不是一件十分容易的事情。填入画横线部分最恰当的一项是:
Itishighlyunlikelythatshewillarrivetoday.
最新回复
(
0
)