Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Was ist ein Konstruktor der Klasse | Konstruktoren und Destruktoren
C++ OOP

bookWas ist ein Konstruktor der Klasse

Note
Definition

Konstruktor ist eine spezielle Methode einer Klasse, die beim Erstellen eines Objekts aufgerufen wird. Damit können die Attribute auf sinnvolle Werte initialisiert werden.

Durch die Verwendung von Konstruktoren kann die Erstellung von Objekten vereinfacht werden. Ohne einen Konstruktor müssten alle Eigenschaften einzeln gesetzt werden und es könnten mehrere Methodenaufrufe erforderlich sein, um das Objekt in einen verwendbaren Zustand zu versetzen.

Der Hauptzweck eines Konstruktors ist die Initialisierung der neu erstellten Instanz. Er kann die Anfangswerte der Attribute basierend auf den an den Konstruktor übergebenen Parametern festlegen, sodass das Objekt in einem gültigen Zustand startet.

Syntax des Konstruktors

Obwohl die Entwicklung eines Konstruktors auf den ersten Blick einfach erscheint, sind zahlreiche spezifische Aspekte zu beachten. Das allgemeine Vorgehen zur Erstellung ist:

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Name: Konstruktor hat denselben Namen wie die Klasse selbst;
  • Rückgabetyp: Konstruktoren besitzen keinen Rückgabetyp, auch nicht void;
  • Parameter: Konstruktoren können Parameter aufnehmen und können mit unterschiedlichen Parametersätzen überladen werden, um verschiedene Möglichkeiten zur Initialisierung von Objekten zu ermöglichen;
  • Automatischer Aufruf: Konstruktor wird automatisch vom Compiler aufgerufen, wenn ein Objekt erstellt wird.

Standardkonstruktor

Ein Standardkonstruktor ist ein Konstruktor, der ohne Argumente aufgerufen werden kann. So werden Standardkonstruktoren definiert und verwendet:

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Sie können mit dem obigen Code experimentieren. Die Logik, die in der Example()-Methode geschrieben ist, wird jedes Mal ausgeführt, wenn eine Instanz der Klasse erstellt wird.

Note
Hinweis

Versuchen Sie, ein weiteres Objekt hinzuzufügen oder die Logik im Konstruktor zu ändern.

Wenn kein Konstruktor definiert ist, erzeugt der Compiler einen Standardkonstruktor. Sein Verhalten hängt von den Typen der Membervariablen ab: fundamentale Typen, standardkonstruktible Typen oder benutzerdefinierte Typen.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Ein Attribut ist ein fundamentaler Datentyp. Der automatisch generierte Standardkonstruktor initialisiert Membervariablen vom eingebauten Typ nicht. Sie erhalten unbestimmte Werte, wenn ein Objekt erstellt und diese Felder nicht explizit initialisiert werden.

Note
Hinweis

Es kann sein, dass der Compiler einen konsistenten Wert für die Variable value bereitstellt, aber der Standard schreibt dies nicht vor und es ist möglich, dass sie einen undefinierten Wert enthält.

question mark

Wann wird der Konstruktor aufgerufen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookWas ist ein Konstruktor der Klasse

Swipe um das Menü anzuzeigen

Note
Definition

Konstruktor ist eine spezielle Methode einer Klasse, die beim Erstellen eines Objekts aufgerufen wird. Damit können die Attribute auf sinnvolle Werte initialisiert werden.

Durch die Verwendung von Konstruktoren kann die Erstellung von Objekten vereinfacht werden. Ohne einen Konstruktor müssten alle Eigenschaften einzeln gesetzt werden und es könnten mehrere Methodenaufrufe erforderlich sein, um das Objekt in einen verwendbaren Zustand zu versetzen.

Der Hauptzweck eines Konstruktors ist die Initialisierung der neu erstellten Instanz. Er kann die Anfangswerte der Attribute basierend auf den an den Konstruktor übergebenen Parametern festlegen, sodass das Objekt in einem gültigen Zustand startet.

Syntax des Konstruktors

Obwohl die Entwicklung eines Konstruktors auf den ersten Blick einfach erscheint, sind zahlreiche spezifische Aspekte zu beachten. Das allgemeine Vorgehen zur Erstellung ist:

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Name: Konstruktor hat denselben Namen wie die Klasse selbst;
  • Rückgabetyp: Konstruktoren besitzen keinen Rückgabetyp, auch nicht void;
  • Parameter: Konstruktoren können Parameter aufnehmen und können mit unterschiedlichen Parametersätzen überladen werden, um verschiedene Möglichkeiten zur Initialisierung von Objekten zu ermöglichen;
  • Automatischer Aufruf: Konstruktor wird automatisch vom Compiler aufgerufen, wenn ein Objekt erstellt wird.

Standardkonstruktor

Ein Standardkonstruktor ist ein Konstruktor, der ohne Argumente aufgerufen werden kann. So werden Standardkonstruktoren definiert und verwendet:

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Sie können mit dem obigen Code experimentieren. Die Logik, die in der Example()-Methode geschrieben ist, wird jedes Mal ausgeführt, wenn eine Instanz der Klasse erstellt wird.

Note
Hinweis

Versuchen Sie, ein weiteres Objekt hinzuzufügen oder die Logik im Konstruktor zu ändern.

Wenn kein Konstruktor definiert ist, erzeugt der Compiler einen Standardkonstruktor. Sein Verhalten hängt von den Typen der Membervariablen ab: fundamentale Typen, standardkonstruktible Typen oder benutzerdefinierte Typen.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Ein Attribut ist ein fundamentaler Datentyp. Der automatisch generierte Standardkonstruktor initialisiert Membervariablen vom eingebauten Typ nicht. Sie erhalten unbestimmte Werte, wenn ein Objekt erstellt und diese Felder nicht explizit initialisiert werden.

Note
Hinweis

Es kann sein, dass der Compiler einen konsistenten Wert für die Variable value bereitstellt, aber der Standard schreibt dies nicht vor und es ist möglich, dass sie einen undefinierten Wert enthält.

question mark

Wann wird der Konstruktor aufgerufen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
some-alt