Data Structures
Circular Linked list...
     private:
       node * rear;

With a queue, a circular linked list is a
viable alternative but does require
additional dereferencing to get to the
“front” which is not required with a linear
linked list.