首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
64
问题
请使用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>voidmain(){chara[]="abcdabcabfgacd"inti1=0,i2=0,i=0;while(a[i]){
多继承情况下,派生类对基类成员的访问会出现二义性。解决二义性的方法是【 】、【 】和【 】。
有如下数组声明:intvalue[30];下标值引用错误的是()。
在下列关系运算中,可能改变关系中属性个数的是
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。classmyClass{private:intdata;public:myClass(in
在MyClass类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。______MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*t
以下各选项组中,均是C++语言关键字的组是
执行下列语句后,输出结果为cout. put(’s’);cout<<,’c’<<’a’;
设有如图所示的二叉树则对该二叉树后序遍历的结果是
以下都是C++语言标识符的是()。
随机试题
用消防器材灭火时,要从火源中心开始扑救。 ()
胆囊()
骨转移癌进行手术的目的主要是
被告人孟某因受贿嫌疑被县人民检察院逮捕,被关押在县看守所。2013年2月4日,本案被起诉到县人民法院。2月7日,孟某在看守所因突发脑溢血抢救无效死亡。对此,县人民法院应当如何处理本案?()
电路如图7-79所示,两电源共同作用时,U2=5V,当IS单独作用时,U2将()。
政府预算制度改革的主要内容是()。
通常所说的“利率倒挂”是指()。
教育心理学的发展时期是在()。
据初步测算,2006年广东完成生产总值25968.55亿元,比上年增长14.1%,经济总量继续列全国第一位置。其中,第一产业增长3.8%,第二产业增长16.9%,第三产业增长12.2%。与此同时,鲁、苏、浙、沪也稳定协调发展,其中山东、江苏赶超步伐不减,增
WhichofalefollowingisNOTadistinctivefeatureofhumanlanguage?
最新回复
(
0
)