Advertisement
ganryu

Untitled

Oct 19th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. template <class T>
  2. class Stack {
  3.     public:
  4.         Stack(int = 10);
  5.        
  6.         ~Stack() {
  7.             delete [] stackPtr;
  8.         }
  9.        
  10.         int push(const T&);
  11.         int pop(const T&);
  12.         int isEmpty() const {
  13.             return top == -1;
  14.         }
  15.         int isFull() const {
  16.             return top == size - 1;
  17.         }
  18.     private:
  19.         int size;
  20.         int top;
  21.         T* stackPtr;
  22. }
  23.  
  24. template<class T>
  25. Stack<T>::Stack(int s) {
  26.     size = s > 0 && s < 1000 ? s : 10;
  27.     top = -1;
  28.     stackPtr = new T[size];
  29. }
  30.  
  31. template<class T>
  32. intStack<T>::push(const T& item) {
  33.     if(!isFull()) {
  34.         stackPtr[++top]i = item;
  35.         return 1;
  36.     }
  37.     return 0;
  38. }
  39.  
  40. template <class T>
  41. int Stack<T>::pop(T& popValue) {
  42.     if(!isEmpty()) {
  43.         popValue = stackPtr[top--];
  44.         return 1;e
  45.     }
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement