Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Delegación de Constructores | Constructores y Destructores
POO en C++
course content

Contenido del Curso

POO en C++

POO en C++

1. Fundamentos de la POO en C++
2. Constructores y Destructores
3. Visión General de la Encapsulación
4. Visión General de la Herencia
5. Visión General del Polimorfismo

book
Delegación de Constructores

Delegación de constructores (también llamada encadenamiento o reenvío de constructores) permite que un constructor llame a otro dentro de la misma clase para reutilizar la lógica común de inicialización.

Sintaxis de la delegación de constructores

La delegación de constructores se utiliza habitualmente dentro de la sintaxis de una lista de inicialización. Implica el uso del operador dos puntos (:), seguido del constructor al que se desea delegar y luego cualquier argumento o parámetro adicional que deba pasarse.

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

El uso de listas de inicialización para la delegación de constructores no es obligatorio, pero generalmente se recomienda por claridad y rendimiento. Si es necesario, se puede llamar a un constructor sobrecargado desde otro constructor en su lugar.

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
Nota

Puede ocurrir recursión infinita potencial al utilizar la delegación de constructores. Asegúrese de que los constructores estén estructurados para evitar bucles de invocación recursiva.

La delegación de constructores ofrece múltiples beneficios en la programación orientada a objetos y resulta conveniente de utilizar, a pesar de la complejidad inicial que pueda aparentar.

question mark

¿Qué es la delegación de constructores?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

POO en C++

POO en C++

1. Fundamentos de la POO en C++
2. Constructores y Destructores
3. Visión General de la Encapsulación
4. Visión General de la Herencia
5. Visión General del Polimorfismo

book
Delegación de Constructores

Delegación de constructores (también llamada encadenamiento o reenvío de constructores) permite que un constructor llame a otro dentro de la misma clase para reutilizar la lógica común de inicialización.

Sintaxis de la delegación de constructores

La delegación de constructores se utiliza habitualmente dentro de la sintaxis de una lista de inicialización. Implica el uso del operador dos puntos (:), seguido del constructor al que se desea delegar y luego cualquier argumento o parámetro adicional que deba pasarse.

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

El uso de listas de inicialización para la delegación de constructores no es obligatorio, pero generalmente se recomienda por claridad y rendimiento. Si es necesario, se puede llamar a un constructor sobrecargado desde otro constructor en su lugar.

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
Nota

Puede ocurrir recursión infinita potencial al utilizar la delegación de constructores. Asegúrese de que los constructores estén estructurados para evitar bucles de invocación recursiva.

La delegación de constructores ofrece múltiples beneficios en la programación orientada a objetos y resulta conveniente de utilizar, a pesar de la complejidad inicial que pueda aparentar.

question mark

¿Qué es la delegación de constructores?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
some-alt