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
course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Überblick Über Die Kapselung
4. Überblick Über Vererbung
5. Überblick Über Polymorphismus

book
Was ist ein Konstruktor der Klasse

Note
Definition

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

Durch die Verwendung von Konstruktoren kann die Erstellung von Objekten vereinfacht werden. Ohne einen Konstruktor müssten Sie jede Eigenschaft einzeln setzen und möglicherweise mehrere Methoden aufrufen, nur 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 und stellt sicher, dass 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 der 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. Dessen 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 wird 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 ("Garbage") 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

course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Überblick Über Die Kapselung
4. Überblick Über Vererbung
5. Überblick Über Polymorphismus

book
Was ist ein Konstruktor der Klasse

Note
Definition

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

Durch die Verwendung von Konstruktoren kann die Erstellung von Objekten vereinfacht werden. Ohne einen Konstruktor müssten Sie jede Eigenschaft einzeln setzen und möglicherweise mehrere Methoden aufrufen, nur 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 und stellt sicher, dass 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 der 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. Dessen 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 wird 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 ("Garbage") 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