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.