del_4901
2006-01-29, 06:55:33
Also zuerst wollte ich soetwas hier bauen:
class A
{
public:
void* y;
A(){}
class B
{
public:
void* getZ(){return (y);}
}b;
};
Aber da kannte er y nicht ;(
Also zur Variante2:
class A
{
void* y;
class B
{
void* z;
B(void* z){this.z=z;}
}b(y);
};
... mhm sch.. gleiches Prob.
Variante 3:
class A
{
void* y;
A(){b.setZ(y);}
class B
{
public:
void* z;
void setZ(void* zi){z=zi;}
}b;
};
Die geht, ist aber umständlich zu handhaben.
Ich will doch blos in B auf die Adresse y zugreifen können, am besten ohne das ich noch nen extra Pointer brauch zum zwischenspeichern, und ohne lästigen "Set'er".
Die Adresse wird sich nach dem ausprägen auch nicht mehr ändern. Aber jedes Obj. hat seine Eigene. "static void* y" und "A::y" helfen mir da nicht wirklich.
Einer ne Idee? vllt. den Linker irgendwie zur Zusammenarbeit zwingen? "externen"???
class A
{
public:
void* y;
A(){}
class B
{
public:
void* getZ(){return (y);}
}b;
};
Aber da kannte er y nicht ;(
Also zur Variante2:
class A
{
void* y;
class B
{
void* z;
B(void* z){this.z=z;}
}b(y);
};
... mhm sch.. gleiches Prob.
Variante 3:
class A
{
void* y;
A(){b.setZ(y);}
class B
{
public:
void* z;
void setZ(void* zi){z=zi;}
}b;
};
Die geht, ist aber umständlich zu handhaben.
Ich will doch blos in B auf die Adresse y zugreifen können, am besten ohne das ich noch nen extra Pointer brauch zum zwischenspeichern, und ohne lästigen "Set'er".
Die Adresse wird sich nach dem ausprägen auch nicht mehr ändern. Aber jedes Obj. hat seine Eigene. "static void* y" und "A::y" helfen mir da nicht wirklich.
Einer ne Idee? vllt. den Linker irgendwie zur Zusammenarbeit zwingen? "externen"???