#include "ArrayList.h"
template <typename T>
ArrayList<T>::ArrayList(): innerArray(new T[0]), len(0) {
// constructor stuff
}
template <typename T>
ArrayList<T>::~ArrayList() {
// destructor stuff
}
... on and on and on ...
В этом коде я должен написать template <typename T>
и ArrayList<T>::
перед каждый функции члена во всем классе.Исключение повторения с C++ шаблоны
Есть ли способ устранить это повторение (DRY), так что я могу сделать что-то вроде
#include "ArrayList.h"
// do some magic
ArrayList(): innerArray(new T[0]), len(0) {
// constructor stuff
}
~ArrayList() {
// destructor stuff
}
Вы знаете, что вам нужно сохранить реализацию в заголовке в любом случае, не так ли? Так почему бы не определить их внутри класса? –
Я не думаю, что это повторяется ... – 0x499602D2
@LuchianGrigore Подождите, не реализует ли реализация '.cpp' и определение в заголовке? – Doorknob