• Domingo 15 de Diciembre de 2024, 01:36

Autor Tema:  TEMPLATES CON PUNTEROS  (Leído 998 veces)

dantoran

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
TEMPLATES CON PUNTEROS
« en: Martes 25 de Mayo de 2010, 21:07 »
0
Hola a todos, a ver quien me da una manos con esto! =)

Tengo unas clases de este tipo



Código: C++
  1.  
  2.  template<class T>
  3. class nodo {
  4. //..
  5.  
  6. template<class T>
  7. class cola{
  8. //....
  9. private : nodo<T> *act;
  10. }
  11.  
  12.  
  13.  

Lo que quiero  hacer es encolar Punteros de T, eso sono raro
digamos esto:

Código: C++
  1.  
  2. void main()
  3. {
  4.  
  5.  nodo <int>  Nodo(5);
  6.  nodo <int>  *ptrNodo;
  7.  ptrNodo =   &Nodo;
  8.  
  9.     cola< nodo<int> >  colaPunteros; //aqui es el rollo
  10. //  colaPunteros.push(*ptrNodo);
  11.  
  12. }
  13.  
  14.  
Sucede que no se como definir en la cola, que el tipo de datos sea *nodo.

Gracias x cualquier ayuda!

dantoran

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: TEMPLATES CON PUNTEROS
« Respuesta #1 en: Miércoles 26 de Mayo de 2010, 10:15 »
0
Hola, la solucion la encontre en un Foro de Microsoft, de chiripa ..  



El codigo quedaria asi:    

Código: C++
  1.  
  2.    void main() {  
  3.    nodo <int>  Nodo(5);
  4.    nodo <int>  *ptrNodo;  
  5.    ptrNodo =   &Nodo;    //  
  6.    // cola  < nodo<int> >        colaPunteros;  //aqui es el rollo    //
  7.    //cola <nodo <T> (*)  >    colaPunteros;     //aqui la solucion    
  8.    cola  < nodo <int> (*) > colaPunteros    //asi se declara //
  9.    colaPunteros.push(ptrNodo);  }
  10.  
  11.  




 Con eso hago una cola de punteros...No se si tenga problemas en otros compiladores o si llegue a fallar por hacerlo asi, pero hasta ahora funciona bn  Supersencillo jejeje, pero me puso a dar vueltas!