Pues, por ejemplo, tirando de herencia:
Código C++:
Ver originaltemplate<class T>
class Lista
{
protected: // <<< si lo pones private no será accesible desde las clases hijas
Nodo<T>* primerNodo;
public:
Lista();
~Lista();
void agregar ( T* );
T* eliminar( );
};
class ListaUsuarios : public Lista<Usuario>
{
public:
Usuario* BuscarPorNumeroDeCedula( int numero )
{
}
};
int main( )
{
ListaUsuarios listaConMetodo;
listaConMetodo.BuscarPorNumeroDeCedula( 123 ); // <--- OK
Lista< Usuario > listaSinMetodo1;
listaSinMetodo1.BuscarPorNumeroDeCedula( 123 ); // <<--- Error de compilación
Lista< int> listaSinMetodo2;
listaSinMetodo2.BuscarPorNumeroDeCedula( 123 ); // <<--- Error de compilación
}
Un saludo