This assignment is a build-on of Assignment 1 (The Array Class).
We will use the Array class to implement three more ADTs (Stack, Queue, and Fixed Array).
Stack -> Last-In, First-Out (LIFO).
Queue -> First-In, First-Out (FIFO).
Fixed Array -> Array that cannot be resized or shrunk.
In doing so, these will be implemented using templates.
In order to appropriately fit the design, the array class was modified
from assignment 1.
The Queue has no shell files and was given a UML instead which must be
followed when created.
The Stack and Fixed array were given a some-what flexible design.
A side note left by the professor that the use of the Standard Template Library (STL)
or Standard C Library string methods such as copy and fill were not allowed
when implementing the Array Class.
1) Clone to your local folder on Tesla.
2) Replace `driver.cpp` with your testing file.
3) Type ``make`` in the appropriate directory
4) Type ``./assignment2`` to run the executable.
5) Check for memory leaks using ``valgrind ./assignment2``
That's it!