Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Qué Es un Constructor de la Clase | 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
Qué Es un Constructor de la Clase

Note
Definición

Un constructor es un método especial de una clase que se invoca cuando se crea un objeto. Permite inicializar los atributos con valores significativos.

Mediante el uso de constructores, se puede simplificar la creación de objetos. Sin un constructor, sería necesario establecer cada propiedad de forma individual y posiblemente llamar a varios métodos solo para dejar el objeto en un estado utilizable.

El objetivo principal de un constructor es inicializar la instancia recién creada. Puede asignar los valores iniciales de los atributos en función de los parámetros pasados al constructor, asegurando que el objeto comience en un estado válido.

Sintaxis del Constructor

Aunque el proceso de desarrollar un constructor puede parecer sencillo, implica numerosas consideraciones específicas. El enfoque general para crear uno es:

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Nombre: el constructor tiene el mismo nombre que la propia clase;

  • Tipo de retorno: los constructores no tienen tipo de retorno, ni siquiera void;

  • Parámetros: los constructores pueden recibir parámetros y pueden ser sobrecargados con diferentes conjuntos de parámetros para permitir varias formas de inicializar objetos;

  • Invocación automática: el constructor es llamado automáticamente por el compilador cuando se crea un objeto.

Constructor por defecto

Un constructor por defecto es un constructor que puede ser invocado sin ningún argumento. Así es como se definen y utilizan los constructores por defecto:

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Puedes experimentar con el código anterior. La lógica escrita en el método Example() se ejecuta cada vez que se crea una instancia de la clase.

Note
Nota

Intenta agregar un objeto más o cambiar la lógica dentro del constructor.

Si no se define un constructor, el compilador genera uno por defecto. Su comportamiento depende de los tipos de las variables miembro: tipos fundamentales, tipos con constructor por defecto o tipos definidos por el usuario.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Un atributo es un tipo de dato fundamental. El constructor por defecto generado automáticamente no inicializa las variables miembro de tipo incorporado. Estas tendrán valores indeterminados si se crea un objeto y no se inicializan explícitamente estos campos.

Note
Nota

Puede que observes que el compilador proporciona un valor consistente para la variable value, pero el estándar no lo exige y es posible que contenga un valor basura.

question mark

¿Cuándo se llama al constructor?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1

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
Qué Es un Constructor de la Clase

Note
Definición

Un constructor es un método especial de una clase que se invoca cuando se crea un objeto. Permite inicializar los atributos con valores significativos.

Mediante el uso de constructores, se puede simplificar la creación de objetos. Sin un constructor, sería necesario establecer cada propiedad de forma individual y posiblemente llamar a varios métodos solo para dejar el objeto en un estado utilizable.

El objetivo principal de un constructor es inicializar la instancia recién creada. Puede asignar los valores iniciales de los atributos en función de los parámetros pasados al constructor, asegurando que el objeto comience en un estado válido.

Sintaxis del Constructor

Aunque el proceso de desarrollar un constructor puede parecer sencillo, implica numerosas consideraciones específicas. El enfoque general para crear uno es:

student.h

student.h

copy
12345678
class Student { public: Student() { name = 'Default'; } std::string name; };
  • Nombre: el constructor tiene el mismo nombre que la propia clase;

  • Tipo de retorno: los constructores no tienen tipo de retorno, ni siquiera void;

  • Parámetros: los constructores pueden recibir parámetros y pueden ser sobrecargados con diferentes conjuntos de parámetros para permitir varias formas de inicializar objetos;

  • Invocación automática: el constructor es llamado automáticamente por el compilador cuando se crea un objeto.

Constructor por defecto

Un constructor por defecto es un constructor que puede ser invocado sin ningún argumento. Así es como se definen y utilizan los constructores por defecto:

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> class Example { public: Example() { std::cout << "Object was created!"; } }; int main() { Example obj; }

Puedes experimentar con el código anterior. La lógica escrita en el método Example() se ejecuta cada vez que se crea una instancia de la clase.

Note
Nota

Intenta agregar un objeto más o cambiar la lógica dentro del constructor.

Si no se define un constructor, el compilador genera uno por defecto. Su comportamiento depende de los tipos de las variables miembro: tipos fundamentales, tipos con constructor por defecto o tipos definidos por el usuario.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> class Example { public: int value; }; int main() { Example obj; // Default constructor std::cout << obj.value; }

Un atributo es un tipo de dato fundamental. El constructor por defecto generado automáticamente no inicializa las variables miembro de tipo incorporado. Estas tendrán valores indeterminados si se crea un objeto y no se inicializan explícitamente estos campos.

Note
Nota

Puede que observes que el compilador proporciona un valor consistente para la variable value, pero el estándar no lo exige y es posible que contenga un valor basura.

question mark

¿Cuándo se llama al constructor?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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