首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1 注意:请勿修改主函
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1 注意:请勿修改主函
admin
2021-09-05
31
问题
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4 3 2 1
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
t //proj2.cpp
2 #include
3 using namespace std;
4 const int size=5 ;
5 class Stack;
6 class Item
7 {
8 public:
9 //********found********
10 Item(const int& val):___________ {}//构造函数对item进行初始化
11 private:
12 int item;
13 Item*next;
14 friend class Stack;
15 };
16 class Stack
17 {
18 public:
19 Stack():top(NULL){}
20 ~Stack();
21 int Pop();
22 void Push(const int &);
23i private:
24 Item*top;
25 };
26 Stack::~Stack()
27 {
28 Item*p=top,*q;
29 while(p!=NULL)
30 {
31 q=p一>next ;
32 //********found********
33 _____________; //释放p所指向的节点
34 p=q;
35 }
36 }
37 int Stack::Pop()
38 {
39 Item*temp ;
40 int ret;
41 //**********found**********
42 ___________; //使temp指向栈顶节点
43 ret=top->item;
44 top=top->next;
45 delete temp;
46 return ret;
47 }
48 void Stack::Push(const int&val)
49 {
50 Item*temp=new Item(val);
51 //**********found**********
52 }
//使新节点的next指针指向栈顶数据
53 top=temp;
54 )
55 int main()
56 {
57 Stack s;
58 for(int i=1;i
59 s.Push(i);
60 cout<<"The element of stack are:";
61 for(i=1;i
62 cout<
63 return 0;
64 }
选项
答案
(1)itern(val) (2)delete []p (3)temp=top (4)temp->next=top
解析
(1)主要考查构造函数,对私有成员进行初始化,即item(val)。
(2)主要考查使用ctelete语句释放指针,一般格式为:delete[]+指针。
(3)指向栈顶节点的是top指针,要使temp指向栈顶节点,故使用语句temp=top;。
(4)指向栈顶节点的是top指针,要使新节点的next指针指向栈顶数据,故使用语句temp->next=top:。
转载请注明原文地址:https://jikaoti.com/ti/Xsh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classXX{intxx;public:xx():xx(O){cout<<’A’;}XX(intn):xx(n){cout<<’B’;}};classYY:publicXX{intyy;public:YY()
已知函数f的原型是“voidflint*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;classPoint{intx,y;public:Point(intxl=0,int’yl=0):x
有如下程序段:inti=0,j=1;int&r=i;//①r=j;//②int*p=&i://*p=&r;//④其中会产生编译错误的语句是()。
下列关于构造函数的描述中,错误的是()。
设c1和c2是类MyClass的对象,若将前缀运算符"--"和运算符"/"作为类MyClass的友元函数重载,则表达式--c1/c2等价于
在软件开发中,需求分析阶段产生的主要文档是()。
下面是一个模板声明的开始部分:templatedouble…由此可知()。
软件生命周期是指()。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
机场旅客离港控制系统应遵循的设计原则是()。
射线对骨的损害表现如下,除了
A.肾常不足B.肝常有余C.心常有余D.肺常不足E.脾常不足小儿常见呕吐,泄泻的原因是
A.tRNAB.mRNAC.rRNAD.snRNAE.scRNA作为核糖体组成成分,参与蛋白质合成的是()
下列不属于预付制支付方式的是
治疗鼠疫宜选用的药物是()。
基金业协会可以相据当事人的()原则对私募基金业务纠纷进行调解,维护投资者合法权益。
丙公司是一家上市公司,管理层要求财务部门对公司的财务状况和经营成本进行评价。财务部门根据公司2016年和2017年的年报整理出用于评价的部分财务数据,如下表所示。要求:计算2017年年末的下列财务指标:①营运资金;②权益乘数。
某商场买进两种丝绸,打算做230条围巾和200件旗袍,现在有两种制作方案:每个甲方案可做13条围巾或12件旗袍;每个乙方案可做20条围巾或16件旗袍。若使丝绸的利用率最高,可以采用甲乙两种方案各多少个?()
Nursing,asatypicallyfemaleprofession,mustdealconstantlywiththefalseimpressionthatnursesaretheretowaitonthep
最新回复
(
0
)