Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2012, 12:44
fabiux
 
Fecha de Ingreso: enero-2012
Ubicación: en mi casa
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Problema con punteros

Hola a todos.
Tengo un problema con un pequeño proyecto independiente que estoy haciendo. La cuestion es la siguiente, cree una jerarquia de objetos similar a la de Java donde existe una clase base Object del cual derivan las demas clases. Existe ademas una clase que llame Reference y que contiene solo un puntero a Object, a grandes rasgos es asi:

Código:
class Reference{
    public:
        Object *value;
        ....
};
Las instancias de Reference pueden apuntar al mismo Object, por lo que contienen la misma direccion para value. Bueno, lo que quiero es simular el aliasing de C++, asi cuando una referencia cambia el value, entonces las demas referencias que comparten ese value esten al tando de esa modificacion.
Probe con algo asi:

Código:
Reference *a = new Reference(algun objeto);
Reference *b = new Reference(a->value);    // a y b contienen al mismo objeto
Object *o = algún objeto
*(a->value) = *o;    // Ambos, a y b mantiene su mismo valor, no se producen cambios
a->value = o;    // Aquí solo a cambia su valor y b no se altera
Lo que debería pasar es que cuando a cambie su value, b debería tener instantáneamente ese valor nuevo.