Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Délégation de Constructeur | Constructeurs et Destructeurs
Programmation Orientée Objet en C++
course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
Délégation de Constructeur

Délégation de constructeur (également appelée chaînage ou transmission de constructeur) permet à un constructeur d'en appeler un autre au sein de la même classe afin de réutiliser une logique d'initialisation commune.

Syntaxe de la délégation de constructeur

La délégation de constructeur s'utilise généralement dans la syntaxe d'une liste d'initialisation. Elle implique l'utilisation de l'opérateur deux-points (:), suivi du constructeur auquel vous souhaitez déléguer, puis des arguments ou paramètres supplémentaires à transmettre.

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; };

L'utilisation des listes d'initialisation pour la délégation de constructeur n'est pas obligatoire, mais elle est généralement recommandée pour la clarté et les performances. Si nécessaire, il est possible d'appeler un constructeur surchargé depuis un autre constructeur.

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
Remarque

Un risque de récursion infinie peut survenir lors de l'utilisation de la délégation de constructeur. Veiller à structurer les constructeurs afin d'éviter les boucles d'appels récursifs.

La délégation de constructeurs offre de multiples avantages en programmation orientée objet et s'avère pratique à utiliser, malgré la complexité initiale qu'elle peut sembler présenter.

question mark

Qu'est-ce que la délégation de constructeur ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
Délégation de Constructeur

Délégation de constructeur (également appelée chaînage ou transmission de constructeur) permet à un constructeur d'en appeler un autre au sein de la même classe afin de réutiliser une logique d'initialisation commune.

Syntaxe de la délégation de constructeur

La délégation de constructeur s'utilise généralement dans la syntaxe d'une liste d'initialisation. Elle implique l'utilisation de l'opérateur deux-points (:), suivi du constructeur auquel vous souhaitez déléguer, puis des arguments ou paramètres supplémentaires à transmettre.

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; };

L'utilisation des listes d'initialisation pour la délégation de constructeur n'est pas obligatoire, mais elle est généralement recommandée pour la clarté et les performances. Si nécessaire, il est possible d'appeler un constructeur surchargé depuis un autre constructeur.

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
Remarque

Un risque de récursion infinie peut survenir lors de l'utilisation de la délégation de constructeur. Veiller à structurer les constructeurs afin d'éviter les boucles d'appels récursifs.

La délégation de constructeurs offre de multiples avantages en programmation orientée objet et s'avère pratique à utiliser, malgré la complexité initiale qu'elle peut sembler présenter.

question mark

Qu'est-ce que la délégation de constructeur ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
some-alt