please be a original answer and copy and pasted here is what i have for the beginnin 5188857

Please be a original answer and copy and pasted. Here is what I have for the beginning.

#include
#include
   using namespace std;
//definition of the template class stackType
template
class stackType
{
  
private:
   int maxStackSize;
   int stackTop;
   Type *list;

public:
   void initializeStack();
   bool isFullStack() const;
   bool isEmptyStack() const;
   void push(const Type&);
   void pop();
   Type top() const;
   stackType(int = 20);
   ~stackType();
   bool operator==(const stackType&);
};
template
void stackType::initializeStack()
{
   stackTop = 0;
}
template
bool stackType::isFullStack() const
{
   return (stackTop == maxStackSize);
}
template
bool stackType::isEmptyStack() const
{
   return (stackTop == 0);
}
template
void stackType::push(const Type& newItem)
{
   if (!isFullStack())
   {
       list[stackTop] = newItem;
       stackTop++;
   } // end if
   else
       cout
}
template
void stackType::pop()
{
   if (!isEmptyStack())
       stackTop–;
   else
       cout
}
template
Type stackType::top() const
{
   assert(stackTop != 0);
   return list[stackTop – 1];
}
template
stackType::stackType(int stackSize)
{
   if (stackSize
   {
       cout
       stackSize = 10;
   } // end if
   else
       maxStackSize = stackSize;
   stackTop = 0;
   list = new Type[maxStackSize];
}
template
stackType::~stackType()
{
   delete[] list;
}
template
bool stackType::operator==
(const stackType& right)
{
  
   if (this->stackTop != right.stackTop)
       return false;
  
   for (int i = 0; i
       if (this->list[i] != right.list[i])
           return false;
   return true;
}
//main function
int main()
{
   // let the user know about the program
   cout
      

   // create objects of type stackType
   stackType s1(12);
   stackType s2(15);

   // insert elements into the stacks
   cout
      
   for (int i = 5; i
   {
       s1.push(i);
       s2.push(i);
   } // end for
   //check and print whether the stacks are equal or not
   if (s1 == s2)
       cout
   else
       cout
   // insert one more element into the second stack
   cout
   s2.push(11);
   //check and print whether the stacks are equal or not
   if (s1 == s2)
       cout
   else
       cout
   cout
   system(“pause”);
   return 0;
}

a. Add the following operation to the class stackType: void reverseStack(stackType &otherStack); This operation copies the elements of a stack in reverse order onto another stack. Consider the following statements: stackType stack1; stackType stack2; The statement stack1.reverseStack(stack2); copies the elements of stack1 onto stack2 in reverse order. That is, the top element ofstack1 is the bottom element ofstack2, and so on. The old contents of stack2 are destroyed and stack1 is unchanged. b. Write the definition of the function template to implement the operation reverseStack.

"Get 15% discount on your first 3 orders with us"
Use the following coupon
FIRST15

Order Now