早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用MFC做栈类模板的设计与实现进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int,float等多种数据类型,包括以下功能:(1)实现初始化栈操作,建立一个空栈;(

题目详情
用MFC做栈类模板的设计与实现
进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int, float等多种数据类型,包括以下功能:(1) 实现初始化栈操作,建立一个空栈;(2) 实现清空栈操作;(3) 实现判断栈是否为空的操作;(4) 实现求栈长度的操作;(5) 实现返回栈顶元素的操作;(6) 实现入栈操作;(7) 实现出栈操作;(8)实现栈的遍历操作,输出栈的每个元素。(9) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
▼优质解答
答案和解析
#include<iostream>
using namespace std;
template<class T>
class Stack
{
private:
 T s[10];
 int top;
public:
 bool push(T a);
 T pop(int i);
 bool stackempty();
 Stack(){top=0;}
};
template<class T>
bool Stack<T>::push(T a)
{
 if(top<10)
 {
  s[top++]=a;
  return 1;
 }
 else
  return 0;
}
template<class T>
T Stack<T>::pop(int i)
{

if(i==0)top--;
  return s[top--];
 
}
template<class T>
bool Stack<T>::stackempty()
{
 if(s)
  return 0;
 else 
  return 1;
 }
void main()
{
 int a,n;char b;
 Stack<int> a1;
 cout<<"请输入栈元素个数:";
 cin>>n;
 cout<<"请输入栈元素:";
 for(int i=0;i<n;i++)
 {
  cin>>a;
  a1.push(a);
 }
 cout<<"出栈:";
 for(int i=0;i<n;i++)
  cout<<a1.pop(i)<<"  ";
 cout<<endl;
 Stack<char> a2;
 cout<<"请输入栈元素个数:";
 cin>>n;
 cout<<"请输入栈元素:";
 for(int i=0;i<n;i++)
 {
  cin>>b;
  a2.push(b);
 }
 cout<<"出栈:";
 for(int i=0;i<n;i++)
  cout<<a2.pop(i)<<"  ";
 cout<<endl;

}
看了 用MFC做栈类模板的设计与实...的网友还看了以下:

我校实验室的四个药品柜已存放有如下药品,近日又购进一些活性炭,根据实验室已形成的分类存放,你觉得新  2020-04-06 …

虚拟存储的容量受到下列哪一个因素的限制?A.磁盘空间大小B.物理内存大小C.数据存放的实际地址D.  2020-05-23 …

虚拟存储的容量受到________因素的影响。A.磁盘空间大小B.物理内存大小C.数据存放的实际地址  2020-05-23 …

计算机所具有的自动控制能力是依靠存储在内存中的______。A.数据实现的B.程序实现的C.汇编语言  2020-05-23 …

虚拟存储的容量受到下列哪一个因素的影响?A.磁盘空间大小B.物理内存大小C.数据存放的实际地址D.  2020-05-24 …

网点实行库存现金限额管理。各行应根据实际情况,核定柜员库存钱箱限额,但不必核定网点99999钱  2020-05-26 …

化学不仅使人类认识了自然界已经存在的物质及其变化,还根据需要制得了对人类生存具有实用价值的产品.(  2020-06-23 …

实验室有一瓶久置的固体,标签上写着“氢氧化钙”.为了检验其中是否还存在氢氧化钙,实验员取少量该固体  2020-07-07 …

C语言作业(1)现:c1=259,则内存中的实际存在是?(用16进制描述);(2)shortx=-  2020-07-19 …

如图所示,加图是“探究晶体熔化时温度的变化规律”实验装置.(1)该实验中存在一个错误操作是.(2)乙  2020-11-30 …