赞
踩
建立一个头文件SeqStack.h该文件包括顺序栈类SeqStack的定义
#ifndef SeqStack_H
#define SeqStack_H#endif
建立一个源程序文件SeqStack.cpp,该文件包括类SeqStack中成员函数的定义
#include"SeqStack.h"
template<class DataType> //以下是类SeqStack的成员函数定义
SeqStack<DataType>::SeqStack()
{
top=-1;
}
template<class DataType>
void SeqStack<DataType>::Push(DataType x) //从类SeqStack中继承函数Push
{
if(top==StackSize-1)throw"上溢";
top++;
data[top]=x;
}
template<class DataType>
DataType SeqStack<DataType>::Pop() //从类SeqStack中继承函数Pop
{
DataType x;
if(top==-1)throw"下溢";
x=data[top--];
return x;
}
template<class DataType>
DataType SeqStack<DataType>::GetTop() //从类SeqStack中继承函数GetTop
{
if(top!=-1)
return data[top];
}
template<class DataType>
int SeqStack<DataType>::Empty() //从类SeqStack中继承函数Empty
{
if(top==-1)return 1;
else return 0;
}
建立一个源程序文件SeqStack_main.cpp,该文件包括主函数
#include<iostream>
using namespace std;
#include "SeqStack.cpp" //引入类SeqStack的成员函数定义
void main()
{
SeqStack<int>S; //创建模板类的实例
if(S.Empty())
cout<<"栈为空"<<endl;
else
cout<<"栈非空"<<endl;
cout<<"对15和10执行入栈操作"<<endl;
S.Push(15);
S.Push(10);
cout<<"栈顶元素为:"<<endl;
cout<<S.GetTop()<<endl; //取栈顶元素
cout<<"执行一次出栈操作"<<endl;
S.Pop(); //执行出栈操作
cout<<"栈顶元素为:"<<endl;
cout<<S.GetTop()<<endl;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。