首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
44
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()。#includevoidmain(){int*p,*q,a,b;p=&a;coutp;}
下列关于运算符重载的叙述中,正确的是
有如下类定义:classMyClass{public:private:intdata;};若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改
有如下语句序列: intx=-10;while(++x){} 运行时,while循环体的执行次数为()。
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.epp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:Hel
下列有关指针的操作中,正确的是()。
下列有关继承和派生的叙述中,正确的是()。
软件生命周期是指()。
下列关于函数模板的描述中,错误的是()。
随机试题
虚劳的预后,与哪些脏腑的关系最密切
Whateveryoudo,don’tchallengeachimpanzeenamedAyumutoanumbermemorygame.In2007,Ayumubecamefamousforhislight
在全面深化改革的任务中,加快推进社会主义民主政治(),建设社会主义法治国家,发展更加广泛、更加充分、更加健全的人民民主。
由天然磷酸盐和氯化钾制成的肥料(包装重15公斤/包)
恩格斯说:“一切以往的道德论归根到底都是当时的社会经济状况的产物。”该论断表明道德()。
单位派你组织老干部到某地疗养,你怎么组织?
将E-R图转换为关系模式时,实体和联系都可以表示为
Thispassagemainlytellsusabout_______.Whydidn’tmenclimbmountainslongago?
A、Differenttypesofpeoplearejustlikedifferentanimals.B、Thereareinterestingthingsinanofficejustlikeinazoo.C、P
ThecityofLondon,______repeatedlybetween1940and1941,lostmanyofitsfamouschurches.
最新回复
(
0
)