queue6.h

来自「cpp-primer-code预编码」· C头文件 代码 · 共 51 行

H
51
字号
#ifndef QUEUE_H
#define QUEUE_H

#include <iostream>
using std::cerr;
using std::cout;
using std::ostream;

#include <cstdlib>
using std::exit;

// QueueItem is now a nested type of the template Queue

template <class Type>
class Queue {
public:
        Queue() : front( 0 ), back ( 0 ) { }
        ~Queue();

        Type remove();
        void add( const Type & );
        bool is_empty() const {
                return front == 0;
        }

	friend ostream& operator<<( ostream &, const Queue<Type> & );
private:
	class QueueItem {
	        QueueItem( const Type &t )
        	         : item(t), next(0) { }

		friend class Queue<Type>;
	        friend ostream& operator<<( ostream &, 
                                            const QueueItem & );

	        Type item;
	        QueueItem *next;

	        void *operator new( size_t );
	        void operator delete( void *, size_t );

	        static QueueItem *free_list;
	        static const unsigned QueueItem_chunk;
	};

        QueueItem *front;
        QueueItem *back;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?