Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Was Ist Ein Destructor Der Klasse | Konstruktoren und Destruktoren
C++ OOP
course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Kapselungsübersicht
4. Überblick Über die Vererbung
5. Überblick Über Polymorphismus

book
Was Ist Ein Destructor Der Klasse

Syntax eines Destruktors

Obwohl sie gegensätzliche Zwecke erfüllen, ist das Erstellen eines Destruktors dem Erstellen eines Konstruktors sehr ähnlich. Sie teilen fast die gleichen Deklarationsprinzipien. Der allgemeine Ansatz zur Erstellung eines Destruktors ist:

  • Name: Es hat denselben Namen wie die Klasse, wird jedoch von einer Tilde (~) vorangestellt.
  • Kein Rückgabewert: Es hat keinen Rückgabewert, nicht einmal void.
  • Keine Parameter: Es kann keine Parameter annehmen.
  • Automatische Aufruf: Es wird automatisch vom Compiler aufgerufen, wenn das Objekt den Gültigkeitsbereich verlässt oder explizit gelöscht wird.

Automatische Aufruf von Destruktoren

Der automatische Aufruf von Destruktoren bezieht sich auf das automatische Aufrufen des Destruktors. Dies stellt sicher, dass die vom Objekt gehaltenen Ressourcen ordnungsgemäß freigegeben werden, wodurch Speicherlecks und Ressourcenlecks verhindert werden.

cpp

scope

cpp

delete

cpp

termination

copy
123456
int main() { { Example obj; // Object created } // Object goes out of scope here, destructor is invoked }
  • Wenn ein Objekt außerhalb des Gültigkeitsbereichs gerät.
  • Wenn der delete-Operator verwendet wird, um dynamisch zugewiesene Objekte zu löschen.
  • Wenn das Programm beendet wird.

Die Notwendigkeit von Destruktoren

Der Hauptzweck eines Destruktors besteht darin, Ressourcen freizugeben, die das Objekt während seiner Lebensdauer erworben hat. Dazu gehört das Schließen von Datei-Handles, das Freigeben von Speicher (mit new) oder ähnliche Aufgaben.

cpp

ResourceHolder

cpp

FileHandler

copy
123456789101112
class ResourceHolder { public: DynamicArray(int size) { data = new int(100); } ~DynamicArray() { delete data; } private: int* data; };

1. Was ist der Hauptzweck eines Destruktors?

2. Wie lautet die Syntax zur Deklaration eines Destruktors?

Was ist der Hauptzweck eines Destruktors?

Was ist der Hauptzweck eines Destruktors?

Wählen Sie die richtige Antwort aus

Wie lautet die Syntax zur Deklaration eines Destruktors?

Wie lautet die Syntax zur Deklaration eines Destruktors?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 7
We're sorry to hear that something went wrong. What happened?
some-alt