首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下
请打开考生文件夹下的解决方案文件proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下
admin
2018-11-11
29
问题
请打开考生文件夹下的解决方案文件proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。
Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:
公有成员函数功能
push 入栈:在栈顶位置添加一个元素
pop 退栈:取出并返回栈顶元素
ArTayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:
a,b,c
c,b,a
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include<iostream>
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){
cerr<<"Overflow!\n";
return;
}
//********found********
_______;
top++;
}
char pop( )
{
if(top==0){
cerr<<"Underflow!\n";
return’\0’;
}
top--;
//********found********
_______;
}
};
void f(Stack&sRef)
{
char ch[ ]={’a’,’b’,’c’};
cout<<ch[0]<<","<<ch[1]<<","<<ch[2]<<endl;
sRef.push(ch[0]);sRef.push(ch[1]);sRef.push(ch[2]);
cout<<sRef.pop( )<<",";
cout<<sRef.pop( )<<",";
cout<<sRef.pop( )<<endl;
}
int main( )
{
ArrayStack as(10);
f(as);
return0;
}
选项
答案
(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://jikaoti.com/ti/MPt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列函数中对调用它的函数没有起到任何作用的是()。
是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
有下列程序:#include<iostream>usingnamespacestd;classComplex{doublere,im;public:Complex(doubler,doubl
有下列程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}s
下列描述中错误的是()。
若有如下程序:#include<iostream>usingnamespacestd;classTestClass1{private:inta;public:TestClass1(in
下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是______。#include<iostream.h>#include(fstream.h)voidmain(){fstreamfi
需求分析阶段的任务是确定
下列关于运算符重载不正确的是()。
已知在一个类体中包含如下函数原型:VOLUMEOPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()。
随机试题
基金托管人发现基金管理人的投资指令违反法律、行政法规和其他有关规定,或者违反基金合同约定的,应当采取如下措施()。Ⅰ.执行基金管理人的指令Ⅱ.拒绝执行基金管理人的指令Ⅲ.立即通知基金管理人Ⅳ.及时向中国证监会报告
A.安静休息时B.活动及情绪激动时C.不定D.饮食时E.运动时一般引起脑血栓形成患者发病的状态是()
背景对某工程施工过程当中的某工作实际进度进行检查后,绘制如下进度计划对比分析图,具体各阶段计划进度与实际进度如下图所示。本工程第一次停顿的原因是由于施工时段正值梅雨期,连续降雨导致无法正常施工。承包商针对第一次停顿的工期延误向建设单位提出相应的工期索
《消费者权益保护法》规定了经营者的九项义务。()
作为启蒙思想家,他们的思想和言论激烈、出格,乃至“悖于常理”,这都在情理之中,因为思想的创造需要那种“虽千万人,吾往矣”的对抗俗世的气概与意志,所以“________”并非思想家的缺陷,也绝非衡量思想之深度、广度乃至力度的标准。填入横线部分最恰当的一项
质量分别为ma和mb的a、b两个小木块,木块a与斜面和水平面间的滑动摩擦因数相同,均为μ1,木块b与斜面和水平面间的滑动摩擦因数相同,均为μ2,斜面倾角为θ。两个木块从斜面的位置A由静止下滑,经B点在水平面上滑行一段时间后停下(如图甲所示),用传感器采集到
运动多长时间后,脂肪成为收缩肌的主要供能物质( )
画出积分区域,并计算下列二重积分:
设an=∫0π/4tannxdx,求证:对任意的常数a>0,级数收敛.
A、Toseetheletters.B、Toanswerandtransfercalls.C、Totranslateletters.D、Tocalltheclients.C
最新回复
(
0
)