• Domingo 15 de Diciembre de 2024, 00:46

Autor Tema:  clase que almacena objetos de distintos tipos... sobrecarga  (Leído 1000 veces)

jrbcast

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
clase que almacena objetos de distintos tipos... sobrecarga
« en: Miércoles 17 de Febrero de 2010, 18:54 »
0
Buenas,

Tengo una duda que puede ser un tanto compleja  :devil:  y que espero que alguien sea capaz de resolverme. Tengo una clase cuyo "pseudocodigo" podría ser:

class Collection
{
   std::map<char *, void *> elements;
   Collection();
   ~Collection();
   
   void addElement( char * name, void * value )
   {
   }
   
   int getValue( char * name )
   {
   }

   double getValue( char * name )
   {
   }
}

Ok, el "mapa" de la clase puede almacenar objetos de diferente tipo puesto que almacena punteros a void. Ahora imaginad que yo sé dentro de la clase Collection qué tipo tiene cada objeto almacenado. Lo que me gustaría saber es cómo puedo llamar desde fuera a un método "getValue" que ya me devuelva el tipo correcto... No sé si me he explicado...  :huh:

Gracias por adelantado.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: clase que almacena objetos de distintos tipos... sobrecarga
« Respuesta #1 en: Jueves 18 de Febrero de 2010, 09:43 »
0
Ahi getValue devuelve int, lo maximo que podes hacer es que devuelva void * y donde lo quieras usar hacer el casting a la clase correspondiente ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.