首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4321 注意:请勿修改主函数main
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4321 注意:请勿修改主函数main
admin
2016-06-12
30
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4321
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
using namespace std;
const int Size=5;
class Stack;
class Item
f
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
S.Push(i);
cout<<“The element of stack are:”;
for(i=1;i
cout<
return 0;
}
选项
答案
(1)it:em(val) (2)delete[]p (3)temp=top (4)temp一>next=top
解析
本题考查堆栈类Stack类、Item类、构造函数、析构函数、成员函数和函数调用。堆栈类的节点一般使用指针表示,也就会考查到指针的相关知识点,要注意释放指针应使用delete[]语句。
【解题思路】
(1)主要考查构造函数,对私有成员进行初始化,即item(val)。
(2)主要考查使用delete语句释放指针,一般格式为:delete[]+指针。
(3)指向栈顶节点的是top指针,要使temp指向栈顶节点,故使用语句temp=top;。
(4)指向栈顶节点的是top指针,要使新节点的next指针指向栈顶数据,故使用语句temp一>next=top;。
【解题宝典】
本题涉及堆栈类,栈是先进后出,后进先出的存储结构。对于此类问题指针的使用是个难点,要记住栈中指向栈顶节点的是top指针,添加数据时要往栈顶添加。
转载请注明原文地址:https://kaotiyun.com/show/ZYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于二义性的描述错误的是
对建立良好的程序设计风格,下面描述正确的是
如果表达式--X+y中,--是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为
下面程序段的运行结果是 #include<iostream.h> voidmain() {char*s="abcde"; S+=2; cout<<&s;}
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intf1,intr2){R1=r1;
下列关于静态数据成员的描述中,正确的是()。
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是【】。
下列叙述中,正确的是()。
下列运算符中哪些是不能够被重载的?
随机试题
设x1,x2,…,xn为样本观测值,经计算知=100,=64.则=________.
A、消化道隔离B、呼吸道隔离C、虫媒隔离D、血液/体液隔离E、严密隔离流行性乙型脑炎是()
钢材在常温条件下承受规定弯曲程度的弯曲变形能力叫做钢材的()。
请阅读下列材料:“多途径下载文件”是教育科学出版社出版的《信息技术基础(必修)》第二章第三节“文件的下载”的第二堂课,在第一堂课先学习了“网际快车(FlashGet)和FTP下载工具(GuteFTP)的使用以及文件的重要属性及类型,让学生了解了文件
关于教学的内涵下列理解正确的有()。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
公司的一项工程,由甲、乙两队合作6天完成,公司需付8700元,由乙、丙两队合作10天完成,公司需付9500元,由甲、丙两队合作7.5天完成,公司需付8250元,若单独承包给一个工程队并且要求不超过15天完成全部工作,则公司付钱给单独承包的工程队的钱数(
设在x=0处连续,则a=___________,b=___________.
在VisualFoxPro中,要运行菜单文件menu1.mpr,可以使用命令
以下关于控件的叙述中,正确的是
最新回复
(
0
)