キュー クラスを実装するために 2 つのスタックを使用しています。私のヘッダーファイルは次のようになります。
#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 など) が再定義されたと言い続けます。どこで再定義したかを明確にするのを手伝ってくれる人はいますか?
ありがとうございました