请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为: Theelementofstackare:4321 注意:请勿修改主函数main和其他函

admin2015-06-27  13

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为:
Theelementofstackare:4321
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
usingnamespacestd;
constintSize=5;
classStack;
C1assItem
{
public:
//********found********
Item(constint&val):________{}
//构造函数对item进行初始化
private:
intitem;
Item*next;
friendclassStack;
};
classStack
{
public:
Stack():top(NULL){)
~Stack();
intPop();
voidPush(constint&);
private:
Item*top;
};
Stack::~Stack()
{
Item*P=top,*q;
while(p!=NULL)
{
q=P->next;
//********found********
________;//释放p所指向的节点
p=q;
}
}
intStack::Pop()
{
Item*temp;
intret;
//********found********
________;//使temp指向栈顶节点
ret=top->item;
top=top->next;
deletetemp;
returnret;
}
voidStack::Push(constint&val)
{
Item*temp=newItem(val);
//********found********
________;
//使新节点的next指针指向栈顶数据
top=temp;
}
intmain()
{
Stacks;
for(inti=1;is.Push(i);
cout<<"Theelementofstackare:";
for(i=1;icout<return0;
}

选项

答案(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;。
转载请注明原文地址:https://jikaoti.com/ti/gXXiFFFM
0

随机试题
最新回复(0)