Your own Queue class
#include <iostream> using namespace std; #define SIZE 100 class QueueClass { int queue[SIZE]; int head, tail; public: QueueClass(); void q(int num); int deq(); }; QueueClass::QueueClass() { head = tail = 0; } void QueueClass::q(int num) { if(tail+1==head || (tail+1==SIZE && !head)) { cout << "Queue is full\n"; return; } tail++; if(tail==SIZE) tail = 0; // cycle around queue[tail] = num; } int QueueClass::deq() { if(head == tail) { cout << "Queue is empty\n"; return 0; // or some other error indicator } head++; if(head==SIZE) head = 0; // cycle around return queue[head]; } int main() { QueueClass queue1, queue2; int i; for(i=1; i <=10; i++) { queue1.q(i); } queue2 = queue1; for(i=1; i <=10; i++) cout << "Dequeue 1: " << queue1.deq() << endl; for(i=1; i <=10; i++) cout << "Dequeue 2: " << queue2.deq() << endl; return 0; }