- 默认设定长度为10
- push超过设定长度后,删除第一个值
// MyQueue.h #pragma once #include <queue> template <class TX> class MyQueue { public: MyQueue(); MyQueue(int count); MyQueue(const MyQueue<TX>& m); void push(const TX& _Val); void pop(); TX front(); size_t size(); private: std::queue<TX> m_queue; //队列 int m_nSetCount; //设置的定长尺度 };
// MyQueue.cpp #include "MyQueue.h" template<class TX> MyQueue<TX>::MyQueue() : m_nSetCount(10) {} template<class TX> MyQueue<TX>::MyQueue(int count) : m_nSetCount(count) {} template<class TX> MyQueue<TX>::MyQueue(const MyQueue<TX>& m) { this->m_nSetCount = m.m_nSetCount; this->m_queue = m.m_queue; } template<class TX> void MyQueue<TX>::push(const TX& _Val) { if (m_queue.size() == m_nSetCount) m_queue.pop(); m_queue.push(_Val); } template<class TX> void MyQueue<TX>::pop() { this->m_queue.pop(); } template<class TX> TX MyQueue<TX>::front() { return m_queue.front(); } template<class TX> size_t MyQueue<TX>::size() { return m_queue.size(); }
11-15
1787
06-04
322
12-01
947