implementing queue using c++

#include
#include
#include
template
class Queue{
struct node
{
object data;
node *next;
}*front,*rear;
public:
Queue()
{
front=rear=NULL;
}
void Enqueue ();
void Dequeue ();
int IsEmpty ();
void display ();
};
template
void Queue ::Enqueue ()
{
object item;
node *newnode;
char ch;
newnode = new node;
cout<<"\n enter the item to be inserted:\t";
cin>>item;
newnode->data = item;
newnode->next = NULL;
if(rear==NULL)
{
rear = newnode;
if(front==NULL)
front = newnode;
}
else
{
rear->next=newnode;
rear=newnode;
}
}
template
void Queue::Dequeue()
{
object item;
node*nodeptr;
if (front==NULL)
cout<<"\n Queue is Empty";
else
{
nodeptr = front;
front = front->next;
if(front==NULL)
rear=front;
cout<<"\n deleted item is:\t"<data;
delete nodeptr;
}
}
template
void Queue::display ()
{
object item;
node *nodeptr;
if(front==NULL)
cout<<"\n queue is empty\n";
else
{
cout<<"\n item in the queue are\n";
nodeptr = front;
while (nodeptr)
{
cout<<"\t"<data;
nodeptr = nodeptr->next;
}
}
}
void main()
{
QueueQ;
int opt;
clrscr();
do
{
cout<<"\n\n queue opration";
cout<<"\n 1.enqueue";
cout<<"\n 2.dequeue";
cout<<"\n 3.display";
cout<<"\n 4.exit";
cout<<"\n enter your choice:\t";
cin>>opt;
switch (opt)
{
case 1:Q.Enqueue ();
break;
case 2:Q.Dequeue ();
break;
case 3:Q.display ();
break;
case 4:exit (0);
default:cout<<"\n invalid choice";
}
}
while (opt!=4);
}






Comments