Class Templates
template <class TYPE>  class stack {
  private:
   TYPE * stack_array;
   const int stack_size;
   int stack_index;
  public:
   stack (int size=100): stack_size(size), stack_index(0) {  stack_array = new
TYPE[size]; }
   void push(TYPE item);
   TYPE pop(void);
};
template <class TYPE> class stack <char *> {
  private:
   char ** stack_array;
   int stack_index;
  public:
   stack(int size=100): stack_index(0){
     stack_array = new char *[size]; }   ...