Consider a variation of the ADT queue called a deque, or double-ended queue, in which items can be inserted or deleted from either end. How can I construct a C++ class that implements this ADT? How do I write an short program to test my ADT? Also, I have to create a stack and single-ended...