home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 038 / dho_9a.zip / STACK.CC < prev    next >
C/C++ Source or Header  |  1994-10-12  |  1KB  |  74 lines

  1. // Developer Helper Object Set, (C) 1994 Thomas E. Bednarz, Jr.
  2. //  All rights reserved
  3.  
  4. #include"stack.h"
  5. #include<stdlib.h>
  6. #include<iostream.h>
  7.  
  8.  
  9. //-------------------------------------------------------------------
  10. //  TStack
  11. TStack::TStack()
  12. {
  13.    fFirst = (TNode*)NULL;
  14. }
  15.  
  16.  
  17. //-------------------------------------------------------------------
  18. //  ~TStack
  19. TStack::~TStack()
  20. {
  21.    ClearStack();
  22. }
  23.  
  24.  
  25. //-------------------------------------------------------------------
  26. //  Push
  27. void TStack::Push(TObject *obj)
  28. {
  29.    TNode *nd = new TNode(obj);
  30.    nd->setNext(fFirst);
  31.    fFirst = nd;
  32. }
  33.  
  34.  
  35. //-------------------------------------------------------------------
  36. //  Pop
  37. TObject *TStack::Pop()
  38. {
  39.    TObject *tmp = fFirst->getObject();
  40.    TNode *tnde = fFirst;
  41.    fFirst = fFirst->getNext();
  42.    delete tnde;
  43.    return tmp;
  44. }
  45.  
  46. //-------------------------------------------------------------------
  47. //  EmptyStack
  48. int TStack::EmptyStack()
  49. {
  50.    return (fFirst==NULL);
  51. }
  52.  
  53.  
  54. //-------------------------------------------------------------------
  55. //  ClearStack
  56. void TStack::ClearStack()
  57. {
  58.   TNode *tmp;
  59.   while (!EmptyStack())
  60.   {
  61.     tmp = fFirst;
  62.     fFirst = tmp->getNext();
  63.     delete tmp;
  64.   }   
  65. }
  66.  
  67.  
  68. //-------------------------------------------------------------------
  69. //  getClassName
  70. const char *TStack::getClassName(void)
  71. {
  72.   return "TStack";  
  73. }
  74.