home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_01 / allison / stack1.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-07  |  552 b   |  43 lines

  1. // stack1.h: A C++ integer stack class
  2.  
  3. #include <stddef.h>
  4.  
  5. class Stack
  6. {
  7.     size_t size;
  8.     int *data;
  9.     int ptr;
  10.  
  11. public:
  12.     Stack(size_t);
  13.     ~Stack();
  14.     void push(int);
  15.     int pop();
  16.     int empty() const;
  17.     int full() const;
  18. };
  19.  
  20. inline Stack::Stack(size_t siz)
  21. {
  22.     data = new int[size = siz];
  23.     ptr = 0;
  24. }
  25.  
  26. inline Stack::~Stack()
  27. {
  28.     delete [] data;
  29. }
  30.  
  31. inline int Stack::empty() const
  32. {
  33.     return ptr == 0;
  34. }
  35.  
  36. inline int Stack::full() const
  37. {
  38.     return ptr == size;
  39. }
  40.  
  41. // End of File
  42.  
  43.