Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Konstruktor-Delegation | 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
Konstruktor-Delegation

Konstruktor-Delegation (auch als Konstruktor-Verkettung oder -Weiterleitung bezeichnet) ermöglicht es, dass ein Konstruktor einen anderen innerhalb derselben Klasse aufruft, um gemeinsame Initialisierungslogik wiederzuverwenden.

Syntax der Konstruktor-Delegation

Konstruktor-Delegation wird üblicherweise innerhalb der Syntax einer Initialisierungsliste verwendet. Dabei wird der Doppelpunkt-Operator (:) genutzt, gefolgt von dem Konstruktor, an den delegiert werden soll, sowie den zusätzlichen Argumenten oder Parametern, die übergeben werden müssen.

user_account.h

user_account.h

copy
1234567891011121314151617
class UserAccount { public: // Primary constructor UserAccount(int userId, int accessLevel) : userId(userId), accessLevel(accessLevel) { // Constructor body } // Delegating constructor (default accessLevel) UserAccount(int userId) : UserAccount(userId, 0) { // Constructor body } int userId; int accessLevel; };

Die Verwendung von Initialisierungsliste für die Konstruktor-Delegation ist nicht erforderlich, wird jedoch aus Gründen der Übersichtlichkeit und Leistung im Allgemeinen empfohlen. Falls nötig, kann ein überladener Konstruktor von einem anderen Konstruktor aus aufgerufen werden.

point.h

point.h

copy
123456789101112131415
#include <iostream> class Point { public: // Delegating constructor to initialize default point at origin Point() { Point(0, 0); } // Main constructor Point(int x, int y) : x(x), y(y) {} int x, y; };
Note
Hinweis

Potenzielle Endlosrekursion kann bei der Verwendung von Konstruktor-Delegation auftreten. Stellen Sie sicher, dass Konstruktoren so strukturiert sind, dass rekursive Aufrufschleifen vermieden werden.

Konstruktor-Delegation bietet zahlreiche Vorteile in der objektorientierten Programmierung und ist trotz anfänglicher Komplexität bequem anwendbar.

question mark

Was ist Konstruktor-Delegation?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5

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
Konstruktor-Delegation

Konstruktor-Delegation (auch als Konstruktor-Verkettung oder -Weiterleitung bezeichnet) ermöglicht es, dass ein Konstruktor einen anderen innerhalb derselben Klasse aufruft, um gemeinsame Initialisierungslogik wiederzuverwenden.

Syntax der Konstruktor-Delegation

Konstruktor-Delegation wird üblicherweise innerhalb der Syntax einer Initialisierungsliste verwendet. Dabei wird der Doppelpunkt-Operator (:) genutzt, gefolgt von dem Konstruktor, an den delegiert werden soll, sowie den zusätzlichen Argumenten oder Parametern, die übergeben werden müssen.

user_account.h

user_account.h

copy
1234567891011121314151617
class UserAccount { public: // Primary constructor UserAccount(int userId, int accessLevel) : userId(userId), accessLevel(accessLevel) { // Constructor body } // Delegating constructor (default accessLevel) UserAccount(int userId) : UserAccount(userId, 0) { // Constructor body } int userId; int accessLevel; };

Die Verwendung von Initialisierungsliste für die Konstruktor-Delegation ist nicht erforderlich, wird jedoch aus Gründen der Übersichtlichkeit und Leistung im Allgemeinen empfohlen. Falls nötig, kann ein überladener Konstruktor von einem anderen Konstruktor aus aufgerufen werden.

point.h

point.h

copy
123456789101112131415
#include <iostream> class Point { public: // Delegating constructor to initialize default point at origin Point() { Point(0, 0); } // Main constructor Point(int x, int y) : x(x), y(y) {} int x, y; };
Note
Hinweis

Potenzielle Endlosrekursion kann bei der Verwendung von Konstruktor-Delegation auftreten. Stellen Sie sicher, dass Konstruktoren so strukturiert sind, dass rekursive Aufrufschleifen vermieden werden.

Konstruktor-Delegation bietet zahlreiche Vorteile in der objektorientierten Programmierung und ist trotz anfänglicher Komplexität bequem anwendbar.

question mark

Was ist Konstruktor-Delegation?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
some-alt