entendi lo que quisiste decir. Pero estos son algunos problemas que pienso podrias tener:
- vas a seguir teniendo que cargar 1 imagen por objeto.
- en el caso de que el objeto
b contenga la direccion de memoria de la imagen del objeto
a para poder dibujarla y hacer uso de ella. En el caso de que elimines el objeto
a por cualquier motivo, la direccion de memoria de la imagen va a quedar sin datos, por lo que el objeto
b no tendrá ninguna imagen asociada.
El ejemplo que te di seria algo asi como una lista enlazada (ya se que no lo es
). Esta clase se encargaria de manejar las direcciones de memoria de las imagenes, cargarlas en memoria, sacarlas de memoria entre otras cosas. Tambien te devolveria la direccion de memoria de la imagen que necesites para que pueda ser usada por alguno de tus objetos.
Entonces, al eliminar un objeto que use una de estas imagenes, la imagen seguira exisitiendo para que los demas objetos puedan hacer uso de la imagen.
espero haberme explicado