首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
19
问题
请使用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全国计算机二级
相关试题推荐
下列程序的输出结果是 main() {int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; }
设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是
下列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st[]="hello,frlend!"; void funcl(int i) { cout<<st[i];
若变量都已正确说明,则以下程序段的输出结果是 a=2;b=3; printf(a>b?"* * *a=%d": "# # #b=%d",a,b);
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
下列程序编译时发现pb->f(10);语句出现错误,其原因是【 】。#include<iostream.h>classBase{public:voidf(intx){cout<<"Base:"<<
关于this指针的说法错误的是( )。
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和______两个含义。
对于重载的运算符>>,它是一个()。
以下都是C++语言标识符的是()。
随机试题
Whatisthe’biggestcityintheworld?Thatis,【21】cityhasthelargestpopulation?Thisseemslike【22】questiontoanswer,but
影响酶促反应速度的因素不包括
关于健康危险因素评价的描述,正确的是
1999年4月南方某大型湖泊1800亩水面泛起了一片片死鱼,湖水呈黑色,空气中弥漫着难闻的臭味,使人感到呼吸困难,头昏、恶心等。首先应考虑作的检测项目是
施工企业年度安全生产管理目标出台后,企业主要负责人应明确专人,根据企业安全生产责任制的要求,将目标分解到()。
根据《中华人民共和国城乡规划法》的规定,下列关于城乡规划的编制和审批程序的表述中不正确的是()。
背景:某建设单位新建办公楼,与甲施工单位签订施工总承包合同。该工程门厅大堂内墙设计做法为干挂石材,多功能厅隔墙设计做法为石膏板骨架隔墙。施工过程中发生下列事件:事件一:建设单位将该工程所有门窗单独发包,并与具备相应资质条件的乙施工单位签订门窗施工合同。
工程项目安全检查的注意事项包括( )。
对直接用于出售的存货和用于继续加工的存货,企业在确定其可变现净值时应当考虑不同的因素。()
当动物缺乏某激素时,可以通过“饲喂法”或“注射法”对该激素进行人为补充,下列只可通过以上一种方法补充的激素是()。①生长激素②甲状腺激素③胰岛素④性激素
最新回复
(
0
)