Ciao a tutti,

stavo scrivendo una classe e per la prima volta mi sono trovato nella situazione di dover usare un template per la classe cosi:

template <class MIOTIPO>
class MiaClasse ...

ebbene ho tristemente scoperto che non posso definire i metodi fuori della classe nel relativo file cpp ma sono obbligato a definirli dentro la classe (il che, pensando a cosa e' un template, ha senso).

Ora... perche' io ho sempre definito i metodi di una classe fuori dalla classe in un file cpp invece che nel file h insieme alla classe?

Quali sono i pro e i contro di tali approcci e in cosa ci rimetto a definire il metodo dentro la classe?

Grazie.