Proba con este ejemplito.
Sds...
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--main.cpp--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#include <string>
#include "cNodo.h"
int main(int argc, char *argv[]){
cNodo< std::string > pp( "hola" );
std::cout << "Salida ej: " << pp << std::endl;
return 1;
}
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--cNodo.h--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#if !defined NODO
#define NODO
#include <iostream>
template < class ELEM >
class cNodo{
public:
ELEM elem;
/*---------------------------------------------------------------------------*/
cNodo(ELEM elem){
this->elem = elem;
}
/*---------------------------------------------------------------------------*/
friend std::ostream &operator<<(std::ostream &salida, const cNodo<ELEM>
&dat){
salida << dat.elem;
return salida;
}
};
#endif
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
pablo Bianco <[EMAIL PROTECTED]> escribió: Buenas, estoy implementando un
template.
Ya he logrado escribir la funcionalidad de algunos operadores.
Pero no puedo lograr que el operador << me funcione.
encontre un ejemplo de como hacerlo, pero no me esta andando.
Les muestro lo que encontre....
template<class T> std::ostream& operator<< (std::ostream& stream, const
Array<T> arr) {
// versión sobrecargada de operador<<() para salida estándar
...
return stream;
}
template <class T> class Array { // clase genérica
friend std::ostream& operator<< <T> (std::ostream&, const Array<T>);
public:
Array(); // constructor por defecto
Array& operator= (const Array&); // operador de asignación
...
};
Lo que dice el ejempo es que se debe definir el metodo del operador << antes de
definir la clase. Pero si lo pongo asi el compilador, como era de esperar, me
dice que no encuentra a la clase de tipo Array, porq la definicion se encuentra
abajo.
Espero ayuda. desde ya Muchas Gracias
---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! _______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion
---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! _______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion