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:
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.class Reference{ public: Object *value; .... };
Probe con algo asi:
Código:
Lo que debería pasar es que cuando a cambie su value, b debería tener instantáneamente ese valor nuevo. 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