Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "BaseQueue.h"
- #include "LinkedList.h"
- template <typename ItemType>
- class Queue : public BaseQueue<ItemType>, private LinkedList<ItemType>
- {
- public:
- Queue() :LinkedList<ItemType>() {};
- virtual BaseQueue<ItemType>& enque(const ItemType& item) {
- addInTail(item);
- return *this
- }
- virtual BaseQueue<ItemType>& deque() {
- removeFromHead();
- return *this;
- }
- virtual ItemType& getFirst() {
- return LinkedList<ItemType>::operator[](0);
- }
- virtual ItemType& getLast() {
- return LinkedList<ItemType>::operator[](m_size-1);
- }
- virtual int length() const {
- return size();
- }
- virtual bool isEmpty() const {
- return LinkedList<ItemType>::isEmpty();
- }
- virtual ~Queue() {};
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement