Bartleby Related Questions Icon

Related questions

Question

Rewrite the interface file, the implementation file, and the application file
for the Queue class (Program 1, Program 2, and Program 3) without using
the List class object as the data member

add results in the end of the program

Transcribed Image Text:Interface File Program 1 shows the interface file. Note that we include the interface file of our List class. Program 1 File queue.h 1 2 3 4 5 #ifndef QUEUE_H 6 #define QUEUE_H 7 #include "list.h" 8 9 template <class T> 10 class Queue 11 { 12 * The interface file to define a Queue class using a List * object as the only data member 13 14 15 16 17 18 19 20 private: List <T> list; public: void push (const T& data); void pop (); T& front() const; T& back() const; int size() const; bool empty () const; Program 1 File queue.h (continued) 21 }; 22 #endif 3
[画像:Program 3 Application file to test Queue class 2 3 4 #include "queue.cpp" 5 6 7 8 9 10 11 12 13 14 15 16 * The application to test the Queue class 17 18 19 int main () }{ Program 3 Application file to test Queue class (continued) // Popping two elements from the queue queue.pop(); queue.pop(); // Checking the front and the back node after two pop operations cout << "Checking front and back elements"; 20 21 22 23 24 25 26 // Instantiation of a queue object Queue <string> queue; // Pushing four nodes into the queue queue.push ("Henry"); queue.push ("William"); queue.push ("Tara"); queue.push ("Richard"); // Checking the element at the front and the back of the queue cout << "Checking front and back elements"; cout << "after four push operations:" << endl; cout << "Element at the front: " << queue.front () << endl; cout << "Element at the back: " << queue.back () << endl << endl; 27 28 29 cout << "after two pop operations:" << endl; cout << "Element at the front: " << queue.front () << endl; cout << "Element at the back: " << queue.back () << endl; return 0; Program 1 2 3 20 21 Press Est to exit four screen File queue.cpp 5 #ifndef QUEUE_CPP 6 #define QUEUE_CPP 7 #include "queue.h" 8 #include "list.cpp" 9 10 11 template <class T> 12 void Queue <T> :: push (const T& value) 13 { 14 15) The implementation for the Queue class in terms of operations* defined for the List class. // Definition of push operation list.insert (list.size (), value); 16 17 template <class T> 18 void Queue <T> :: pop () 19 { Definition of pop operation list.erase (0); 22 // Definition of front operation 23 template <class T> 24 T& Queue <T> :: front () const 25 { 26 27 28 // Definition of back operation 29 template <class T> 43 { 44 45} 46 #endif list.get(0); Program 2 File queue.cpp (continued) 30 T& Queue <T> :: back () const 31 { 32 33 } 34 // Definition of size operation 35 template <class T> 36 int Queue <T> :: size () const { list.get (list.size() - 1); 37 38 39} 40 // Definition of empty operation 41 template <class T> 42 bool Queue <T> :: empty () const list.size(); 5 list.empty(); *]
expand button
Transcribed Image Text:Program 3 Application file to test Queue class 2 3 4 #include "queue.cpp" 5 6 7 8 9 10 11 12 13 14 15 16 * The application to test the Queue class 17 18 19 int main () }{ Program 3 Application file to test Queue class (continued) // Popping two elements from the queue queue.pop(); queue.pop(); // Checking the front and the back node after two pop operations cout << "Checking front and back elements"; 20 21 22 23 24 25 26 // Instantiation of a queue object Queue <string> queue; // Pushing four nodes into the queue queue.push ("Henry"); queue.push ("William"); queue.push ("Tara"); queue.push ("Richard"); // Checking the element at the front and the back of the queue cout << "Checking front and back elements"; cout << "after four push operations:" << endl; cout << "Element at the front: " << queue.front () << endl; cout << "Element at the back: " << queue.back () << endl << endl; 27 28 29 cout << "after two pop operations:" << endl; cout << "Element at the front: " << queue.front () << endl; cout << "Element at the back: " << queue.back () << endl; return 0; Program 1 2 3 20 21 Press Est to exit four screen File queue.cpp 5 #ifndef QUEUE_CPP 6 #define QUEUE_CPP 7 #include "queue.h" 8 #include "list.cpp" 9 10 11 template <class T> 12 void Queue <T> :: push (const T& value) 13 { 14 15) The implementation for the Queue class in terms of operations* defined for the List class. // Definition of push operation list.insert (list.size (), value); 16 17 template <class T> 18 void Queue <T> :: pop () 19 { Definition of pop operation list.erase (0); 22 // Definition of front operation 23 template <class T> 24 T& Queue <T> :: front () const 25 { 26 27 28 // Definition of back operation 29 template <class T> 43 { 44 45} 46 #endif list.get(0); Program 2 File queue.cpp (continued) 30 T& Queue <T> :: back () const 31 { 32 33 } 34 // Definition of size operation 35 template <class T> 36 int Queue <T> :: size () const { list.get (list.size() - 1); 37 38 39} 40 // Definition of empty operation 41 template <class T> 42 bool Queue <T> :: empty () const list.size(); 5 list.empty(); *
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Similar questions