#include<iostream>
#include<string>
using namespace std;
template<class T>
class Student{
public:
Student(){top=-1;}
~Student(){}
void push(T x);
T pop();
T gettop(){if(top!=-1) return data[top];}
int empty(){if(top==-1)return 1;return 0;}
private:
int top;
T data[50];
};
template<class T>
void Student<T>::push(T x){
if(top==49)throw "上溢";
data[++top]=x;
}
template<class T>
T Student<T>::pop(){
if(top==-1)throw "下溢";
T x=data[top--];
return x;
}
void main(){
Student<string> stu;
string a[3]={"小明","小李","小栋"};
for(int i=0;i<3;i++){
stu.push(a[i]);
}
cout<<stu.gettop()<<endl;
cout<<stu.pop()<<endl;
cout<<stu.empty()<<endl;
}
本文介绍了一个通用模板类Student的实现,该类模仿了栈的基本操作如压栈(push)、弹栈(pop)等,并展示了如何使用这个类来管理字符串类型的元素。
7433

被折叠的 条评论
为什么被折叠?



