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
1234567891011121314151617class 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
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; };
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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Konstruktor-Delegation
Swipe um das Menü anzuzeigen
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
1234567891011121314151617class 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
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; };
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.
Danke für Ihr Feedback!