00001 #ifndef _STACK_H_INCLUDED_
00002 #define _STACK_H_INCLUDED_
00003
00004 #include "Node.h"
00005
00006 class Stack {
00007 friend void print_stack( Stack const& st );
00008 Node head;
00009 public:
00010
00011 Stack();
00012
00013
00014 ~Stack();
00015
00016
00017 void push( int value );
00018
00019
00020 void pop();
00021
00022
00023 int& top();
00024
00025
00026 int top() const;
00027
00028
00029 size_t size() const;
00030
00031
00032 bool empty() const;
00033
00034 };
00035
00036
00037 void print_stack( Stack const& st );
00038
00039 #endif //_STACK_H_INCLUDED_