Is there a convenient way to reduce code redundancy such as in this case?:
//Queue.h
template <class T>
class Queue {
public:
Queue();
~Queue();
}
//Queue.cpp
template <class T> Queue<T>::Queue() { ... }
template <class T> Queue<T>::~Queue() { ... }
other than, potentially,
//Queue.cpp
#define QUEUE template <class T> Queue<T>::
QUEUE Queue() { ... }
QUEUE ~Queue() { ... }
I know you can define the member functions inside the header file/class declaration, but I'd assume that should be avoided, if possible?