我正在使用两个堆栈来实现一个队列类。我的头文件如下所示:
#ifndef _MyQueue_h
#define _MyQueue_h
using namespace std;
template <typename T>
class MyQueue {
public:
MyQueue();
~MyQueue();
void enqueue(T element);
T peek();
void dequeue();
int size();
bool empty();
private:
int count;
stack<T> stk1;
stack<T> stk2;
};
# include "MyQueue.cpp"
# endif
我的 cpp(实现)文件看起来像:
#include <stack>
#include "MyQueue.h"
using namespace std;
template <typename T>
MyQueue<T>::MyQueue()
{
count = 0;
}
template <typename T>
MyQueue<T>::~ MyQueue()
{
}
template <typename T>
void MyQueue<T>::enqueue(T element)
{
stk1.push(element);
count ++;
}
(其他功能省略)。
但是,使用 Xcode 4.5,它一直说我的函数(MyQueue、~MyQueue、enqueue、peek 等)被重新定义了。谁能帮我澄清我在哪里重新定义了它们?
谢谢