#ifndef QUEUE_H
#define QUEUE_H
template <class Type>
class QueueItem
{
public:
QueueItem(const Type &val);
//private:
Type item;
QueueItem *next;
};
template <class Type>
class Queue
{
public:
Queue();
~Queue();
public:
Type remove();
void add(const Type &val);
bool is_empty();
bool is_full();
private:
QueueItem<Type> *front;
QueueItem<Type> *back;
int size;
int max;
};
#endif