Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2012, 19:20
fabian_n7
Usuario no validado
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta std::map generico con template<typename T>

Hola a todos, como estan? hace una semana que estoy con una duda que no puedo solventar. Intento realizar lo siguiente:

un contenedor std::map que almacene &objetos de clases distintas (Detalle: estas clases crean figuras geometricas y tienen un metodo común "dibujar()")

pero el problema está en que no encuentro la forma de hacerlo ya que C++ no permite hacer lo siguiente:

Código C++:
Ver original
  1. template<typename T>
  2. std::map<char*,T &> Pila;


Al hacerlo dentro de una clase (que es lo que pretendo, una clase que controle la "pila" map) si o si tendría que especificar el tipo de la clase al intanciar un objeto. El problema es que los objetos que aloja la pila, son de distintas clases.

por EJ:
Código C++:
Ver original
  1. template<typename T>
  2. class A
  3. {
  4.  
  5. public:
  6. void dibujar();
  7. private:
  8. std::map<char*, T&> Pila;
  9.  
  10. };
  11.  
  12. //instancia
  13. A<Tipo> nuevaPila;

Pero esto tampoco sirve por que necesito que el contentedor map sea unico y aloje varios objetos, no quiero que cree una instancia de la pila para cada objeto "distinto" a guardar.

Ojala alguien me pueda dar una mano con esto por que me esta volviendo loco jeje o alguna alternativa (lo mejor para mi sería manejarlo dentro de una clase, pero bienvenida sea cualquier sugerencia).

Muchas gracias a Todos! Saludos!