#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
const int capacity=10;
template<class T>
class Stack
{
public:
Stack()
{
top=0;
data=new T [capacity];
}
~Stack()
{
delete [] data;
}
void push(T a)
{
data[top++]=a;
}
T pop()
{
if(isempty()){cout<<"empty"<<endl;}
else cout<<data[--top]<<endl;
}
bool isempty()
{
return top==0;
}
private:
int top;
T *data;
};
int main()
{
Stack<int> p;
Stack<char> q;
p.push(2);
p.pop();
q.push('a');
q.pop();
return 0;
}
#include<string.h>
#include<stdlib.h>
using namespace std;
const int capacity=10;
template<class T>
class Stack
{
public:
Stack()
{
top=0;
data=new T [capacity];
}
~Stack()
{
delete [] data;
}
void push(T a)
{
data[top++]=a;
}
T pop()
{
if(isempty()){cout<<"empty"<<endl;}
else cout<<data[--top]<<endl;
}
bool isempty()
{
return top==0;
}
private:
int top;
T *data;
};
int main()
{
Stack<int> p;
Stack<char> q;
p.push(2);
p.pop();
q.push('a');
q.pop();
return 0;
}