Sé que es posible hacer una función de plantilla:¿Cómo crear una función de plantilla dentro de una clase? (C++)
template<typename T>
void DoSomeThing(T x){}
y es posible hacer una clase de plantilla:
template<typename T>
class Object
{
public:
int x;
};
pero ¿es posible hacer que una clase no dentro de una plantilla , y luego hacer una función en esa clase una plantilla? Es decir:
//I have no idea if this is right, this is just how I think it would look
class Object
{
public:
template<class T>
void DoX(){}
};
o algo en la medida en que la clase no es parte de una plantilla, pero la función es?
Y también que no puede especializarlos. :-( –
No es exactamente cierto. La definición puede estar en un archivo cpp, siempre que se llame una vez para cada parámetro de plantilla único n-uplet desde una función/método que no sea de plantilla después de haberla definido. –
Por lo tanto, mi " debería "- mantenerlo en el encabezado es la forma más sencilla de lograrlo. –