Отдельные файлы .h и .cpp в реализации класса шаблона

Я пытаюсь написать шаблон класса, который может формировать классы в зависимости от<class> Я пропускаю. Проблема в том, что я не могу объявить и определить.h файл. В моем проекте инструмент UTF может работать только с.cpp файлы (для покрытия кода и т. д.). Я видел в блоге, что они говорят «Добавить.cpp вместо.h». Это желательно?

Template.h

#ifndef TEMPLATE_H_
#define TEMPLATE_H_

template<class T>
class Template
{
public:
    T Add(T a,T b);
};

#endif /* TEMPLATE_H_ */

Template.cpp

#include "Template.h"

template<class T>
T Template<T>::Add(T a, T b)
{
    return a+b;
}

Main.cpp

#include "Template.cpp" //Is this a good practise? 
#include <iostream>

int main(int argc, char **argv) {
    Template<int> obj;
    std::cout<<obj.Add(3,4)<<std::endl;
}

Если это не рекомендуется, то как мне решить эту проблему?export?

Ответы на вопрос(2)

Ваш ответ на вопрос