首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
admin
2017-07-05
30
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4 3 2 1
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include<iostream>
us ing namespace std;
const int Size=5;
class Stack;
class Itern
{
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;。
转载请注明原文地址:https://kaotiyun.com/show/MLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的执行结果是【 】。#include<iostream.h>classStudent{public:Student(intxx){x=xx;}virtualfloatcalcFuition();protecte
下面程序编译时发现ma[3]=9错误,其原因是【 】。#include<iostream.h>classFunArray{int*pa;//指向一个数组空间intsize;//数组元素个数public:FunA
定义静态成员函数的主要目的是
在数据流图(DFD)中,带有名字的箭头表示
下列程序对加号进行了重载,划线部分的语句是【 】。#include<iostream.h>#include<math.h>classTriangle{intx,y,z;double
非成员函数只有在声明为(),才能访问这个类的所有private成员。
C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istream和()提供。
下列运算符中,*运算符在C++中不能重载()。
C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由类istream和()提供。
设有如图所示的二叉树则对该二叉树后序遍历的结果是
随机试题
A.希波克拉底B.马斯洛C.霍尔姆斯和雷赫D.李时珍E.南丁格尔最先提出“不伤害原则”的西方医学家是
绒毛膜癌最主要的转移途径是
如图7-19所示电路,正弦电流f2的有效值I2=1A,电流i3的有效值I3=2A,因此电流i1的有效值I1等于()。
下列验收中,项目法人不得作为验收委员会成员的是()。
甲公司授权其材料员到乙公司购买一批钢材,并交给材料员一份已盖公司公章的空白合同书,该材料员用此合同书与乙公司订立了购买钢材的合同。乙公司按时交货后未收到货款,双方发生纠纷后,乙公司应( )。
有限责任公司的股东向股东以外的人转让股权,应当经其他股东()同意。
根据我国现行《宪法》规定,全国人民代表大会常务委员会的组成人员中应当有适当名额的()。
设,求.
【B1】【B2】
Peopleusuallycommunicatebyspokenandwrittenlanguage,yettheycanalsocommunicatewithoutwordsandthiskindofcommunic
最新回复
(
0
)