首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
64
问题
请使用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全国计算机二级
相关试题推荐
2首先声明为private的“private:intj;”中j为私有成员。然后在类中没有指定,系统默认为私有。即“inti:”中的i也是私有成员。所以本题中的私有成员数量为2。
A、 B、 C、 D、 C派生类的构造函数定义的一般格式为:派生类名(参数总表):基类名(参数表){派生类新增数据成员的初始化语句}在生成对象b时,就自动给基类构造函数传递实参1
A、 B、 C、 D、 B只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,本程序共生成了3个同类对象a,b[2]。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
A、 B、 C、 D、 D线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
下列选项中不全是c++语言关键字的是
C++语言中类的定义的结束声明的符号是
随机试题
阅读下列材料:材料1不应该得出结论,说新帝国主义(工业革命后西方列强的殖民扩张)对于世界,甚于对于诸从属殖民地民族,是十足的灾难。按照历史的观点,新帝国主义无疑将被看作是世界的一大进步,正如工业革命是欧洲人的进步一样。实际上,新帝国主义的历史作用在于
具有平肝潜阳,醒脑安神功能的中成药是
药物相互作用对临床药效学的影响A.拮抗作用B.敏感化作用C.促进吸收和增加疗效D.增加毒性和不良反应E.产生互补作用,减少不良反应硫酸阿托品与解磷定联用()。
“备案号”栏应填:“数量及单位”应填报:
下列关于期货公司业务的做法,恰当的有( )。
在Word中,插入图片的环绕方式默认为()。
教材是教师和学生据以进行教学活动的材料,包括()
科学发展观所要求的全面发展,以()为中心。
求幂级数的收敛区间.
Ialwayseatbreakfast,andsuggestthatyoudotoo.Weallneedfoodinthemorningtosupplyourselves【C1】______sourcesofgl
最新回复
(
0
)