首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为: The element of stack are:4 3 2 1
admin
2019-05-29
36
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.epp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4 3 2 1
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include <ioStream>
USing namespace std;
const int Size=5;
class Stack;
Class Item
{
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:o
转载请注明原文地址:https://kaotiyun.com/show/968p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C此题考查的是函数模板。声明一个函数模板的格式是:template函数声明,{函数体}其中的是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:t
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 C派生类的构造函数定义的一般格式为:派生类名(参数总表):基类名(参数表){派生类新增数据成员的初始化语句}在生成对象b时,就自动给基类构造函数传递实参1
A、 B、 C、 D、 B构造函数A中的形参a对静态成员a形成了屏蔽,故只有在成员函数init()中才将静态成员a的值修改为1,而在其他成员函数中没发生变换,故obj.a=1。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
面向对象程序设计主要经历了结构化设计和面向对象的程序设计阶段,面向对象在现在的程序设计中得到广泛的应用。
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
下列字符串中,正确的C++标识符是()。
随机试题
传统的支付结算系统是以_______为主,以_______的金融专用网络为核心。
顶极—格局假说的优势顶极,相当于单元顶极论的
【B1】【B3】
项目管理措施包括()。
当人的视野中有极强的亮度对比时,由光源直射或由光滑表面的反射出的刺激或耀眼的强烈光线,称为眩光。眩光能()。
锅炉本体受热面组合安装的一般程序是:设备清点检查→()试验→联箱找正划线→管子就位对口和焊接。
我国企业利润表中的利润项目包括()。
根据《中华人民共和国产品质量法》的规定,在产品标识方面,生产者的主要义务包括()。
满18周岁的公民才具有民事权利能力。
简述学前儿童情绪障碍的主要表现。
最新回复
(
0
)