Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/03/2013, 18:41
starfix
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: POO Herencias con la misma referencia padre

que te parece hacer una clase aparte?. Tene en cuenta que esta idea que te doy la hago en cuanto a mi ignorancia con respecto a herencia de clases. Por ejemplo:

Código C++:
Ver original
  1. class DirMemoriaImagenes{
  2.  
  3. private:
  4.  
  5.     vector<ClaseImagen*> __Direcciones;
  6.     vector<string> __Identificador;
  7.  
  8.    ClaseImagen* CargarImagen(string Imagen);
  9. public:
  10.  
  11.    ClaseImagen* CargarImagen(const char* PathArchivo);
  12.  
  13.    ClaseImagen* ObtenerImagen(string Imagen);
  14.  
  15.    DirMemoriaImagenes();
  16.    ~DirMemoriaImagenes();
  17. }

la idea de la clase es la siguiente:

- se carga una vez la imagen en memoria y se guarda en el vector __Direcciones

- Se puede obtener la direccion de memoria de la imagen (previamente cargada en memoria) mediante el metodo ObtenerImagen. De esta manera, se carga la imagen solamente 1 vez y el objeto que necesite dibujarla solamente necesitara la direccion de memoria de la misma.

- El vector __Identificador guarda los nombres con los que se cargaron las imagenes, para buscarlas mas rapido. EJ: Cuando se ejecute el metodo CargarImagen(string Imagen), se guarda en el vector __Direcciones la direccion de la imagen cargada y en el vecor __Identificador el parametro Imagen. Luego, al llamar al metodo ObtenerImagen(string Imagen), solamente necesitas establecer la posicion del parametro Imagen en el vector __Identificador, esta posicion va a ser la misma en el vector __Direcciones de la imagen correspondiente.

-Solamente necesitarias 1 instancia de esta clase, de la cual los demas objetos pueden obtener la direccion de memoria de la imagen que necesiten.



espero que se haya entendido la idea, igualmente hay mejores y mas variadas maneras de hacerlo, este ejemplo es de como lo haria yo :)

saludos.