relativ dynamischer Array

Verschiedenes zu Qt
Adi
Beiträge: 87
Registriert: 1. Januar 2006 14:51

Beitrag von Adi »

webmaster1987 hat geschrieben:...

Code: Alles auswählen

GWuerfel::~GWuerfel() {
	delete this;
}
...
void Formular::closeEvent(QCloseEvent *event) {
	for(int i=0;i<WuerfelCount;i++) Wuerfel[i]->~GWuerfel();
	event->accept();
}
..
Ist GWuerfel eine Klasse bei dir?

Eigendlich meine ich

Code: Alles auswählen

MyClass::MyClass()
{
   ...
   GWuerfel** Wuerfel;
   Wuerfel = new GWuerfel*[count];
   ...
}

MyClass::~MyClass()
{
   ...
   delete [] Wuerfel;
   ...
}


Win 2k, Win XP
QT Win Opensource 4.1.1
MinGW 3.4.2
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

ja GWuerfel ist eine klasse

wenn man das ganze einfach mit delete machen kann

wo kommt dann der destruktor ins spiel?
DOUBLE ist wie FLOAT nur in HD
Adi
Beiträge: 87
Registriert: 1. Januar 2006 14:51

Beitrag von Adi »

Wenn du eine Objekt-Klasse mit delete zerstörst, wird der Destrukor von eben dieser Klasse aufgerufen. Damit lässt sich z.B. gewisse Aufräumarbeiten erledigen.

Das gleiche passiert auch mit Objekten, die automatisch gelöscht werden. In deinem Beispiel wirst du im Destruktor von Würfel nichts haben.

Hingegen bewirkt der Destruktor von deiner MyClass (als mein Beispiel) dass der QWuerfel gelöscht wird, wenn die MyClass stirbt (z.B. Beenden des Programms).
Win 2k, Win XP
QT Win Opensource 4.1.1
MinGW 3.4.2
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

danke genau das wollte ich wissen

vielen dank :lol: :D
DOUBLE ist wie FLOAT nur in HD
Antworten