Code:
#ifndef QUEUE_LINK_HPP_INCLUDED
#define QUEUE_LINK_HPP_INCLUDED
#include "list.hpp"
template <class T>
class LinkedQueue;
template <class T>
void printOut(const LinkedQueue<T> &);
template <class T>
class LinkedQueue:protected List<T>
{
public:
LinkedQueue(){}
bool readFromQueue(T&) const;
void removeFromQueue() {List<T>::remove(1);}
void addToQueue(const T &El) {List<T>::add(List<T>::size()+1,El);}
bool empty() const {return List<T>::empty();}
int size() const {return List<T>::size();}
friend void printOut<>(const LinkedQueue<T> &);
virtual ~LinkedQueue(){}
};
template <class T>
void printOut(const LinkedQueue<T> &l)
{
cout<<endl;
cout<<"\tVelicina reda: "<<l.size()<<endl;
cout<<"\tSadrzaj reda je: ";
T retVal;
for(int i=1; i<=l.size();i++)
{
if(i>1) cout<<", ";
l.read(i,retVal);
cout<<retVal;
}
cout<<endl<<endl;
}
template <class T>
bool LinkedQueue<T>::readFromQueue(T& retVal) const
{
return List<T>::read(1,retVal);
}
#endif // QUEUE_LINK_HPP_INCLUDED
#ifndef QUEUE_LINK_HPP_INCLUDED
#define QUEUE_LINK_HPP_INCLUDED
#include "list.hpp"
template <class T>
class LinkedQueue;
template <class T>
void printOut(const LinkedQueue<T> &);
template <class T>
class LinkedQueue:protected List<T>
{
public:
LinkedQueue(){}
bool readFromQueue(T&) const;
void removeFromQueue() {List<T>::remove(1);}
void addToQueue(const T &El) {List<T>::add(List<T>::size()+1,El);}
bool empty() const {return List<T>::empty();}
int size() const {return List<T>::size();}
friend void printOut<>(const LinkedQueue<T> &);
virtual ~LinkedQueue(){}
};
template <class T>
void printOut(const LinkedQueue<T> &l)
{
cout<<endl;
cout<<"\tVelicina reda: "<<l.size()<<endl;
cout<<"\tSadrzaj reda je: ";
T retVal;
for(int i=1; i<=l.size();i++)
{
if(i>1) cout<<", ";
l.read(i,retVal);
cout<<retVal;
}
cout<<endl<<endl;
}
template <class T>
bool LinkedQueue<T>::readFromQueue(T& retVal) const
{
return List<T>::read(1,retVal);
}
#endif // QUEUE_LINK_HPP_INCLUDED
Eureka!
MILAN DJUKIC
D J U K A
MILAN DJUKIC
D J U K A