#ifndef H_QueueType #define H_QueueType #include <iostream> #include <cassert> #
ID: 3559625 • Letter: #
Question
#ifndef H_QueueType
#define H_QueueType
#include <iostream>
#include <cassert>
#include <string>
using namespace std;
// definition of the template class queueType
template <class Type>
class queueType
{
public:
// data methods of the class
const queueType<Type>& operator=
(const queueType<Type> &);
queueType(const queueType<Type>& otherQueue);
bool isEmptyQueue() const;
bool isFullQueue() const;
void initializeQueue();
Type front() const;
Type back() const;
void addQueue(const Type&);
void deleteQueue() ;
queueType<Type>(int queueSize = 100);
void moveNthFront ( int n );
void print();
private :
// data members of the class
int maxQueuesize;
int count;
int queueFront;
int queueRear;
Type *list;
// member function
void copyQueue ( const queueType<Type>& );
}; // end template class queueType
template <class Type>
void queueType<Type>::moveNthFront(int n)
{
// check for valid n
if ( n <= 1 )
{
cout << " lnvalid. ";
return;
} // endif
// store the Nth element in a temporary variable
Type temp = * ( list + n - 1);
// move the ele