Du bist neu in der Welt von C++? Dann schau hier herein!
speedy
Beiträge: 52 Registriert: 23. Juli 2008 03:17
Beitrag
von speedy » 20. April 2009 15:53
Und noch mal ein Problem ...
Code: Alles auswählen
empfangen::~empfangen()
{
fprintf(stdout,"destrukter von empfangen\n");
if (ptr != NULL) delete[] ptr;
fflush(stdout);
}
sollte das beim beenden des Programms nicht die zeile ausgeben??
Xairo
Beiträge: 9 Registriert: 30. März 2009 19:10
Beitrag
von Xairo » 20. April 2009 16:56
Hängt davon ab, wie der Rest der Klasse 'Empfangen' aussieht?
Leitet es von QObject oder QWidget ab? Hast du die Klasse in einer Parenthierarschie eingefügt.
Löschst du es mit delete?
Xairo
speedy
Beiträge: 52 Registriert: 23. Juli 2008 03:17
Beitrag
von speedy » 21. April 2009 08:40
Hi
die Klasse ist von QWidget abgeleitet ... wobei ich am überlegen bin das zu ändern, da die eigentlich gar kein Fenster braucht.
Momentan wird die beim start des Programms mit angelegt.
Hab (bis jetzt) kein delete drin der die Klasse entfernt.
Werden beim Programmende die Destruktoren nicht mehr aufgerufen?
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 21. April 2009 09:05
Werden beim Programmende die Destruktoren nicht mehr aufgerufen?
Nein -> C(++)-Grundlagen (wenn das Objekt per new erstellt wurde)
Ausnahme: Du leitest von einem QObject ab, dessen parent 'deleted' wird.