首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
admin
2019-05-29
23
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4 3 2 1
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include <ioStream>
USing namespace std;
const int Size=5;
class Stack;
Class Item
{
public:
//********found********
Item(const int&val):_______
{} //构造函数对item进行初始化
private:
int item;
Item * next;
friend clasS Stack;
};
class Stack
{
public:
Stack():top(NULL){}
~Stack();
int Pop();
void Push(const int&);
private:
Item * top;
};
Stack∷~Stack()
{
Item * P=top,*q;
while(P!=NULL)
{
q=P->next;
//********found********
_______;//释放P所指向的
节点
p=q;
}
}
int Stack∷Pop()
{
Item * temp;
int ret;
//********found********
_______;//使temp指向栈顶节点
ret=top->item;
top:top->next;
delete temp;
return ret;
}
void Stack∷Push(const int&val)
{
Item* temp=new Item(val);
//********found********_______;
//使新节点的next指针指向栈顶数据
top=temp;
}
int main()
{
Stack s;
for(int i=1;i<Size;i++)
s.Push(i);
cout <<"The element of stack are:";
for(i=1;i<Size;i++)
cout<<s.Pop()<<’t’;
return 0;
}
选项
答案
(1)item(val) (2)delete[]p (3)temp=top (4)temp->next=top
解析
(1)主要考查构造函数,对私有成员进行初始化,即item(val)。
(2)主要考查使用delete语句释放指针,一般格式为:delete[]+指针。
(3)指向栈顶节点的是top指针,要使temp指向栈顶节点,故使用语句temp=top;。
(4)指向栈顶节点的是top指针,要使新节点的next指针指向栈顶数据,故使用语句temp->next=top:o
转载请注明原文地址:https://kaotiyun.com/show/968p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
构造函数构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 C虚函数是在类的声明中使用virtual关键字来限定的成员函数,在成员函数实现时不能再使用virtual关键字进行限定。派生类中的虚函数必须和基类中的虚函数的形参个数、形参类型、返回值
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 A由于线性表采用的是顺序存储方式,用存储单元的邻接性体现线性表元素间的一维顺序关系,因此对线性表进行插入和删除运算时,可能需要移动大量的结点,以保持这种物理和逻辑的一致性。对于选项A)
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
下列选项中不属于软件生命周期开发阶段任务的是()。
下面字符串中,不可以用作C++标识符的是()。
随机试题
下列选项中,不属于垄断竞争的特征的是()
A.肛门旁皮下脓肿B.坐骨肛管间隙脓肿C.骨盆直肠间隙脓肿D.直肠后间隙脓肿E.盆腔脓肿直肠前壁隆起,波动压痛
检查牙周组织的重要标志是()
甲公司于2000年3月为其生产的酸奶注册了“乐乐”商标.该商标经过长期使用.在公众中享有较高声誉。2004年8月,同一地域销售牛奶的乙公司将“乐乐”登记为商号并突出宣传使用.容易使公众产生误认。下列哪种说法是正确的?(2006年卷三第20题)
建设项目在主体工程开工之前,必须完成各项施工准备工作,其主要工作内容不包括()。
填方应( )进行并尽量采用同类土填筑。
发包人或者工程师签认的签证可以作为索赔的()。
某公司在2×11年6月30日购入一台不需要安装即可使用的生产用动产设备,价值为600万元,预计净残值为0,预计使用寿命为5年,该公司对该设备采用年数总和法计提折旧。假定该固定资产未发生减值,不考虑其他因素。2×13年该公司对该设备计提的折旧金额为(
立法监督是()。
Duringthelast15years,theEarth’ssurfacetemperatureroseatarateof0.04°Cadecade,farslowerthanthe0.18℃increase
最新回复
(
0
)