首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
41
问题
请打开考生文件夹下的解决方案文件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://kaotiyun.com/show/Bdfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于虚函数的说明中,正确的是()。
有如下程序:#inc1ude<iostrcam>usingnamespacestd;c1assBASE{public:~BASEO{cout<<"BASE";}};c1assD
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assMyClass{public:MyClass(inti=0){cout<<1;}MyClass
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()。#includevoidmain(){int*p,*q,a,b;p=&a;coutp;}
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是:(1)如果字符串最后面有空格,则全部删除:(2)转换后的数据放到de
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的IntSet是一个用于表示正整数集合的类。IntSet的成员函数Merge的功能是求当前集合与另一个集合的并集,在Merge中可以使用成员函数IsMemberOf判断_个正
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1;i-=2)cout
由于常对象不能被更新,因此()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
下列有关函数重载的叙述中,错误的是()。
随机试题
关于公司的财务行为,下列哪些选项是正确的?()(司考.2014.3.71)
清初诗人钱谦益、吴伟业、龚鼎孳并称“_______”。
在对血栓(thrombus)的叙述中,属于错误的是
再生障碍性贫血最主要的诊断依据是
上皮异常增生可出现下列变化,除了
区别甾体皂苷和三萜皂苷区别酸性皂苷和中性皂苷用
某公司自资产负债表日至财务报告批准报出日之间发生的下列事项中,属于非调整事项的有()。
意志品质包括()。
()对于爬行相当于青蛙对于()
[A]Youcanfindanythingifyouknowwhatitlookslike[B]Youcanrecallthelookofsomethingforgotten[C]Youcanso
最新回复
(
0
)