Хорошо, я пытаюсь реализовать шаблонный класс очереди на основе массива с именем Queue.
Вот как я это сделал. Во-первых, это правильный способ реализации шаблонного класса?
Проблема в том, что, когда я пытаюсь скомпилировать, я получаю сообщения об ошибках
неопределенная ссылка на
"Очередь :: Queue ()
неопределенная ссылка на
'Queue :: ~ Queue ()
Есть идеи, что случилось? Я объявляю это неправильно или неправильно реализую?
queue.h
#ifndef __QUEUE_H__
#define __QUEUE_H__
template <class T>
class Queue
{
int first;
T* array;
public:
Queue();
~Queue;
void enqueue(T next);
T dequeue();
bool is_empty();
bool is_full();
};
#endif
queue.cpp
#include "queue.h"
template <class T> Queue<T>::Queue(){
...
}
template <class T> Queue<T>::~Queue(){
...
}
template <class T> void Queue<T>::enqueue(T next){
...
}
template <class T> T Queue<T>::dequeue(){
...
}
template <class T> bool Queue<T>::is_empty(){
...
}
template <class T> bool Queue<T>::is_full(){
...
}
main.cpp
#include "queue.h"
#include <iostream>
using namespace std;
int main(){
Queue<int> test;
return 0;
}