Advertisement
andruhovski

prog-0303a-2016

Sep 7th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.53 KB | None | 0 0
  1. #pragma once
  2. template <typename Type> class Stack
  3. {
  4. public:
  5.     Stack();
  6.     ~Stack();
  7.     void push(Type value);
  8.     Type pop();
  9. private:
  10.     int size;
  11.     Type *data;
  12.     int top;
  13. };
  14.  
  15. template <typename Type> Stack<Type>::Stack()
  16.     : top(-1), size(10)
  17. {
  18.     data = new Type[size];
  19. }
  20.  
  21.  
  22. template <typename Type> Stack<Type>::~Stack()
  23. {
  24.     delete data;
  25. }
  26.  
  27.  
  28. template <typename Type> void Stack<Type>::push(Type value)
  29. {
  30.     if (top<size)
  31.         data[++top] = value;
  32. }
  33.  
  34.  
  35. template <typename Type> Type Stack<Type>::pop()
  36. {
  37.     return data[top--];
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement