Arquivos .h e .cpp separados na implementação da classe de modelo
Eu estou tentando escrever uma classe de modelo que pode formar classes dependendo da<class>
Eu passo. O problema é que não posso declarar e definir no mesmo.h
Arquivo. No meu projeto, a ferramenta UTF só funciona com o.cpp
arquivos (para cobertura de código, etc.). Eu vi em um blog que eles dizem "Adicionar.cpp
ao invés de.h
” Isso é aconselhável?
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;
}
Se isso não for aconselhável, então como resolvo esse problema?export
?