Question: Construct a C++ implementation of a static deque class using the header file below. Write test program to test every member functions implemented in the

Construct a C++ implementation of a static deque class using the header file below. Write test program to test every member functions implemented in the class. Thoroughly document the code below and your test program with code comments and through a searate summary report. Indicate in your test results display the name of the functions or data that are being tested.

//////////////////// deque.h

ifndef _DEQUE_H_ #define _DEQUE_H_ #include #include template class deque { public: typedef std::size_t size_type; static const size_type CAPACITY = 10; //postcondition: empty deque has been created deque(); //precondition: deque is not empty //postcondition: reference to element at front of deque has been returned T& front(); // precondition: deque is not empty // postcondition: copy of element at front of deque has been returned T front() const; // precondition: deque is not empty // postcondition: reference to element at front of deque has been returned T& back(); // precondition: deque is not empty // postcondition: copy of element at back of deque has been returned T back() const; // precondition: deque is not full // postcondition: entry has been inserted at the front of the deque void push_front (const T& entry); // precondition: deque is not full // postcondition: entry has been inserted at the back of the deque void push_back (const T& entry);

// precondition: deque is not empty // postcondition: element at front of deque has been removed void pop_front(); // precondition: deque is not empty // postcondition: element at back of deque has been removed void pop_back(); // postcondition: number of elements in deque has been returned size_type size() const; // postcondition: whether deque is empty has been returned bool empty() const; // postcondition: whether deque is full has been returned bool full() const; // postcondition: returned whether 2 deques are equal // equal is defined as: the deques have the same number of elements & // corresponding elements are equal template friend bool operator == (const deque& dq1, const deque& dq2); // postcondition: dq has been display from front to rear on out template friend std::ostream& operator<< (std::ostream& out, const deque& dq); private: T data[CAPACITY]; // Circular array size_type first; // Index of item at front of the queue size_type last; // Index of item at rear of the queue size_type count; // Total number of items in the queue // postcondition: returned next index in array size_type next_index(size_type i) const; // postcondition: returned previous index in array size_type prev_index (size_type i) const; }; #endif

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!