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

Responder a