Scavenger
13-05-2004, 16:23
Hallo !
Ich habe eine Klasse mit folgendem Aufbau:
class classA
{
public:
classB b;
classC c;
classA (): b("data"),
c(&b)
{
//irgendwas
};
}
Wenn ich das ganze kompiliere und debugge sieht es so aus, als ob er
"c(&b)" vor b("data") aufruft.
Kann das sein ? Gibt es eine Möglichkeit die Reihenfolge bei solchen Aufrufen festzulegen ? Oder irgendeine andere Lösung ?
Scav.
P.S. In welcher Reihenfolge werden die Destruktoren aufgerufen ?
Was ist, wenn c noch b im Destruktor benötigt, aber b schon gelöscht wurde ?
Ich habe eine Klasse mit folgendem Aufbau:
class classA
{
public:
classB b;
classC c;
classA (): b("data"),
c(&b)
{
//irgendwas
};
}
Wenn ich das ganze kompiliere und debugge sieht es so aus, als ob er
"c(&b)" vor b("data") aufruft.
Kann das sein ? Gibt es eine Möglichkeit die Reihenfolge bei solchen Aufrufen festzulegen ? Oder irgendeine andere Lösung ?
Scav.
P.S. In welcher Reihenfolge werden die Destruktoren aufgerufen ?
Was ist, wenn c noch b im Destruktor benötigt, aber b schon gelöscht wurde ?