首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
74
问题
请使用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只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,只有给指针new一个地址时会调用构造函数,所以本程序中一共生成了6个Point对象(A,B,C,newPoint[
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 C派生类在公有派生和保护派生两种方式下,可以访问基类的保护成员。虚基类也可以被实例化,虚函数如果在派生类中不被重新定义,则直接被派生类继承。
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
下列关于栈的叙述中,正确的选项是()。
下列字符串中,正确的C++标识符是()。
下列字符串中可以用作C++语言标识符的是
以下选项中合法的用户标识符是
按照标识符的要求,下列选项中,()符号不能组成标识符。
随机试题
A.聚集B.叠连C.凝集D.凝固A型血人的红细胞与B型血人的血清相遇时,红细胞发生的变化是
关于胃蛋白酶的叙述,正确的是
某建筑工程,建筑面积145200m2,现浇钢筋混凝土框架一剪力墙结构,地下3层,地上60层,基础埋深18.6m,主楼底板厚3.0m,底板面积6036m2,底板混凝土强度设计为C35/P12,底板施丁时施工单位制定了底板施工方案,采用溜槽配合混凝土地泵的施工
(2016年)企业因亏损合同确认的预计负债,应当按照退出该合同的最高净成本进行计量。()
2012年2月,经过国务院相关部门事项批准,甲上市公司拟向境外战略投资者非公开发行股票,已知其股票定价基准日前20个交易日公司股票均价为每股12元,那么本次发行股票的最低价格为每股()。
以下符合“营改增”政策规定的有()。
A.keentoB.soakupC.amajorfactorD.bringaboutPhrases:A.children【T13】______A-characteristicsisschoolB.A-typepar
下列叙述中,错误的是()。
Itbecamebyfarthemostwidelyusedcodebecauseitwastheeasiesttounderstandand______.(传输也最快)
A、Nobodywasinjuredinit.B、Itwascausedbyanerror.C、Itkilled27miners.D、Itaffectednationalelectricitysupply.B新闻开篇
最新回复
(
0
)