Stack is a versatile data structure used in situations that need LIFO - last in first out. For an introduction to stack, read this post Data members To implement a stack using an array, we will need an array and an index to the top of the stack. We can have a static array or a dynamic array. Dynamic array has the advantage that size of array can be given at run time. So let us have a dynamic array and also a data member called size. class stack { int max; int * arr; int top; public: stack( int n); void push ( int n); int pop (); bool is_empty (); bool is_full (); int peek (); ~ stack(); stack(stack & other); }; Methods In the constructor of this class we must initialize the data. We need to set top to -1, because we do not have any value in the stack currently. And as we are using dynamic array, we should allocate memory to array in the constructor. We need to also write a destru...