#pragma once
template <typename Type> class Stack
{
public:
Stack();
~Stack();
void push(Type value);
Type pop();
private:
int size;
Type *data;
int top;
};
template <typename Type> Stack<Type>::Stack()
: top(-1), size(10)
{
data = new Type[size];
}
template <typename Type> Stack<Type>::~Stack()
{
delete data;
}
template <typename Type> void Stack<Type>::push(Type value)
{
if (top<size)
data[++top] = value;
}
template <typename Type> Type Stack<Type>::pop()
{
return data[top--];
}
Comments