template <class DataType>
class linkstack
{
public:
linkstack(){top=NULL;}
~linkstack();
void push(DataType x);
DataType pop();
DataType gettop(){if(top!=NULL)return top->data;}
int empty(){top==NULL?return 1:return 0;}
private:
Node<DataType>*top;
};
template <class DataType>
void linkstack<DataType>::push(DataType x)
{
s=new Node;
s->data=x;
s->next=top;
top=s;
}
template <class DataType>
DataType linkstack<DataType>::pop()
{
if(top==NULL)throw;
x=top->data;
p=top;
top=top->next;
delete p;
return x;
}
int main()
{
int s1(5);
return 0;
}