Konstruktor und Destruktor in C ++ - Bedürfnisse, Verwendung mit Syntax und Beispielen

Inhaltsverzeichnis:

Anonim

Einführung in Konstruktor und Destruktor in C ++

  • Konstruktor und Destruktor in C ++ spielen in einer objektorientierten Programmiersprache wie C ++ eine wichtige Rolle. Da wir Class und seine Objekte in C ++ haben, während das neue Objekt jedes Mal erstellt wird, kann Konstruktor zum Initialisieren des Objekts verwendet werden, während Destruktor verwendet werden kann, um die erforderlichen Nachoperationen auszuführen, wenn das Objekt zerstört werden soll.
  • Wenn wir ein Objekt einer Klasse in C ++ erstellen, möchten wir möglicherweise Felder der Klasse mit bestimmten Standardwerten oder bestimmten Werten initialisieren. Eine Klasse hat ihre Felder und Methoden. Felder sind meist Variablen oder Objekte. Indem wir diesen Feldern Standardwerte zuweisen, vereinfachen wir die Programmierung. Der Konstruktor entspricht der normalen Funktion in der Klasse, und der Compiler ruft ihn automatisch auf, wenn wir ein neues Objekt dieser Klasse erstellen. Beim Erstellen des Objekts übergeben wir die erforderlichen Werte als Argument an das Objekt. Diese Argumente werden an den Konstruktor der Klasse übergeben. Die Argumentwerte können nun entsprechenden Feldern zugewiesen werden, die in der Klasse verfügbar sind. Außerdem können wir den Feldern, in denen wir die Argumente nicht übergeben, Standardwerte zuweisen. Es gibt verschiedene Arten und Wege, wie wir den Konstruktor in C ++ initialisieren.
  • Der Konstruktor ist wie eine spezielle Elementfunktion einer Klasse. Immer wenn wir ein neues Objekt erstellen, wird der Konstruktor ausgeführt. Die Syntax eines Konstruktors ist sehr einfach, die Funktion hat denselben Namen wie die Klasse, in der sie definiert ist, und sie hat keinen Rückgabetyp, auch nicht void. Konstruktoren sind sehr nützlich, um bestimmten Mitgliedern der Klasse bestimmte Werte zuzuweisen. Mit dem Konstruktor kann zum Zeitpunkt der Instanziierung eine klassenbezogene Logik ausgeführt werden.

Syntax des Konstruktors

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

Der Destruktor in C ++ ist auch eine spezielle Member-Funktion in der Klasse. Der Destruktor wird vom Compiler automatisch aufgerufen und immer dann ausgeführt, wenn das Objekt dieser bestimmten Klasse den Gültigkeitsbereich verlässt oder wenn es mit einem Löschausdruck auf den Zeiger dieses Objekts gelöscht wird. Immer wenn das Objekt von einem Compiler zerstört wird, wird der Destruktor aufgerufen. In destructor können wir Anweisungen ausführen, die alles sein können, was wir ausführen möchten, wenn das Objekt den Gültigkeitsbereich verlässt. Die Post-Operationen wie das Schließen von Verbindungen, Schließen von Dateien usw. sind einige der Beispiele, die wir im Destruktor ausführen können.

Syntax des Destruktors

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

Die Syntax des Destruktors ist dem Konstruktor sehr ähnlich. Sie hat denselben Namen wie die Klasse, in der sie definiert ist, und hat keinen Rückgabetyp. Es wird jedoch nur ein ~ (Tilde) -Zeichen vor dem Destruktornamen haben. Normalerweise wird der Destruktor verwendet, um die Zuordnung des dynamisch zugewiesenen Speichers für die Klasse und ihre Mitglieder aufzuheben. Die Destruktoren sind sehr nützlich, um Nachoperationen auszuführen, die nach der Geschäftslogik ausgeführt werden können.

Warum brauchen wir einen Konstruktor und Destruktor in C ++?

C ++ ist eine objektorientierte Programmiersprache. In jeder objektorientierten Programmiersprache ordnen wir der Klasse und den Objekten echte Originalentitäten zu.

Lassen Sie uns verstehen, warum wir in C ++ einen Konstruktor und einen Destruktor benötigen. Angenommen, wir haben eine Entity-Box und wir haben eine Klasse dafür erstellt und sie enthält Objekte, die auch in anderen Teilen verwendet werden können. Jetzt hat die Box bestimmte Parameter wie Höhe, Länge, Breite usw. und wann immer wir ein Objekt der Klasse Box erstellen, möchten wir, dass es einen Standardwert annimmt. Angenommen, für height kann dieses Ziel erreicht werden, indem height im Konstruktor dieser Klasse ein bestimmter Standardwert zugewiesen wird. Ebenso können für andere Parameter auch Werte vergeben werden. Nehmen wir an, wir möchten nach Verwendung des Objekts von Box sofort eine bestimmte Aktion ausführen oder eine Funktion aufrufen. Dies kann mithilfe von Destructor in C ++ erfolgen. Die erforderlichen Anweisungen werden dem Destruktor dieser Klasse hinzugefügt. Dies sind die Echtzeitvorteile eines Konstruktors und Destruktors in C ++.

Wie funktionieren Konstruktoren und Destruktoren in C ++?

Wie bereits erwähnt, wird der Konstruktor beim Erstellen eines Objekts vom Compiler aufgerufen. Wenn wir keinen Konstruktor definieren, generiert der C ++ - Compiler automatisch einen Standardkonstruktor für uns. Der Konstruktor wird verwendet, um den Speicher bei Bedarf zuzuweisen und das Objekt der Klasse zu erstellen, während ein Destruktor verwendet wird, um die erforderliche Bereinigung durchzuführen, wenn ein Objekt zerstört wird. Der Destruktor wird vom Compiler automatisch aufgerufen, wenn ein Objekt zerstört wird. Wenn wir keinen eigenen Destruktor definieren, erstellt der C ++ - Compiler einen Standard-Destruktor.

Konstruktor und Destruktor in C ++ erstellen? (Beispiele)

1. Konstruktorbeispiel

Nehmen wir das gleiche Beispiel der Klasse Box, um den Konstruktor zu deklarieren. Weisen Sie der Höhe und dem Gewicht der Box einige Standardwerte zu.

Code

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Wenn das Objekt dieser Klasse erstellt wird, wird das Objekt vom Typ Box mit den oben definierten Standardwerten zurückgegeben.

2. Destruktor Beispiel

Wenn das Objekt von Box den Gültigkeitsbereich verlässt, drucken wir in unserem Beispiel einen Text auf der Konsole aus. Beim eigentlichen Codieren kann eine bestimmte Aktivität ausgeführt werden.

Code

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Wenn das Objekt von Box den Gültigkeitsbereich verlässt, druckt der Compiler den oben definierten Text auf der Konsole aus.

Fazit

Daher spielen Konstruktor und Destruktor in der objektorientierten Programmiersprache eine wichtige Rolle. Ein Konstruktor wird zum Initialisieren des Objekts und ein Destruktor zum Zerstören des Objekts verwendet. Sowohl der Konstruktor als auch der Destruktor sind beim Programmieren in der C ++ - Sprache sehr nützlich.

Empfohlene Artikel

Dies ist eine Anleitung zum Konstruktor und Destruktor in C ++. Hier diskutieren wir die Anforderungen von Konstruktor und Destruktor in C ++, die Verwendung, verschiedene Syntax und Beispiele. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren.

  1. C ++ - Array-Funktionen
  2. Konstruktor in C ++ kopieren
  3. Einführung in C ++
  4. Arten von Konstruktoren in C
  5. Anleitung zum Destruktor in C #
  6. Destruktor in PHP mit Beispielen