首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
admin
2019-06-07
45
问题
请使用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://jikaoti.com/ti/cgA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B对二叉树的访问有3种方式,其中任意的两种可惟一确定一颗二叉树。但无论是前序、后序还是中序遍历二叉树时,其区别在于访问根的先后次序不同,而访问叶结点的顺序完全相同。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。A)-369B)369C)0.369D)整数集合{1,2,3,4,5}
下列选项中属于面向对象设计方法主要特征的是()。A)继承B)自顶向下C)模块化D)逐步求精
下列关于数据库设计的叙述中,正确的是()。A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
在程序设计阶段应该采取__________和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
在TestClass类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。___________TestClass::operator=(constTestClass&rhs){if(this==&rhs)return
以下模板定义:templateTfun(Tx,Ty){returnx*x+y*y;}下面对fun的调用中错误的是()。
在E-R图中,用来表示实体之间联系的图形是
在E-R图中,用来表示实体联系的图形是( )。
随机试题
免疫金制备时通常用到的高分子稳定剂有
A.自动体位B.被动体位C.强迫体位D.强迫仰卧位E.强迫俯卧位
长圆棒状。常单生或2~3个基部连生。上端较粗,下端渐细或带有短梗,外面被有多数鱼鳞状苞片。苞片外表面紫红色或淡红色,内表面密被白色絮状茸毛的药材是()。
某宗房地产的收益年限为40年,判定其未来每年的净收益基本上固定不变,通过预测得知其未来4年的净收益分别为25万元、26万元、24万元、25万元,报酬率为10%,该宗房地产的收益价格为()。
基于互联网的建设工程项目信息管理系统为项目参与各方提供一个( )信息沟通环境。
某企业为增值税一般纳税人,2011年3月发生以下业务:(1)生产木制一次性筷子的精美礼品盒10000套全部售出,不含税销售单价为每套50元,外购原材料50000元,取得增值税发票,注明税款8500元。(2)该企业将一批普通的木质一次性筷子的礼品盒
Marriagemayimproveyoursleep,andbettersleepmayimproveyourmarriage,twonewstudiessuggest.Womenwhoaremarried
TheU.S.economyhasbeendraggingalonglately,buthere’sasmallshotinthearm.Gasolinepriceshavefallentotheirlowes
A.advantageB.applicantC.complexD.concededE.employsF.expertG.exposedH.frequentlyI.globally
A、HelikesChinesefood.B、Hedoesn’tlikeChinesefood.C、HethinksChinesefoodisnotsuitableforhim.D、Hehasthesameide
最新回复
(
0
)