Rafael Antonio Erazo Cartagena: Catedrático

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Catedrático:

Rafael Antonio Erazo Cartagena


Estudiante:
Asignatura:
Lenguaje de Programación II
Tema:
Actividad 3 investigación sobre los constructores y destructores de c++
Fecha:
10 de octubre del 2023
N. Cuenta:

¿Qué es un constructor en c++?


R/ Es una función especial dentro de una clase que se utiliza para inicializar objetos, los
constructores tienen el mismo nombre de la clase y no tienen un tipo de retorno. Los
constructores por defecto se generan automáticamente cuando se crea un objeto de la
clase y se utiliza para asignar valores iniciales a sus miembros. Los constructores se
definen automáticamente si no se define ninguna clase, pero puedes escribir tus
propios constructores personalizados según la necesidad de la clase.

Ejemplo de un constructor:

#include <iostream>
using namespace std;
Class MiClase{
Public:
//Constructor
MiClase() {
Cout<<”Se creó un objeto en MiClase.”<<endl;
}
};
Int main (){
//Crear un objeto de mi clase
MiClase objeto;

//La creación del objeto llama al constructor.


//Y muestra el mensaje en la consola.
return 0;
}

¿Qué es un destructor en c++?


R/ Es una función especial dentro de una clase que se utilizar para realizar tareas de
limpieza y liberación de recursos cuando un objeto de esa clase se destruye o sale de
ámbito. Los constructores se llaman automáticamente cuando se libera o elimina un
objeto de la memoria. Tienen el mismo nombre de operador procedido por el
operador, y su principal función es liberar espacio que el objeto pudo haber adquirido
durante su ciclo de vida.

Ejemplo de un destructor:

#include <iostream>
using namespace std;
Class MiClase{
Public:
//Constructor
MiClase() {
Cout<<”Constructor llamado”<<endl;
}
//Desctructor
MiClase() {
Cout<<”Destructor llamado”<<endl;
}

};
Int main (){
MiClase objeto; //Se llama al constructor

//El objetivo se destruirá automáticamente al salir de ambito.


//Y se llamara al destructor.
Return 0;
}
Ventajas y desventajas de usar constructores y destructores en c++:
Ventajas de los constructores:

1. Inicialización de objetos: los constructores permiten inicializar objetos de


manera consistente, estableciendo valores iniciales para sus miembros.
2. Facilitan la creación de objetos: Simplifican la creación de objetos, ya que el
código de inicialización se maneja automáticamente al crear una instancia de la
clase.
3. Garantizan que los objetos estén en un estado valido: Ayudan a garantizar que
los objetos estén en un estado coherente desde el principio, evitando valores
no inicializados.
4. Personalización de inicialización: los constructores pueden aceptar parámetros
para realizar la inicialización de objetos según las necesidades.
5. Facilitan la encapsulación: los constructores pueden ser utilizados para
establecer restricciones y reglas específicas para la inicialización de objetos, lo
que contribuye a la encapsulación.
6. Útiles para la herencia: Los constructores permiten inicializar las partes de un
objeto que hereda una clase base.
Desventajas de los constructores:

1. Overhead: Los constructores pueden introducir cierto overhead en la creación


de objetos, ya que ejecutan un código adicional para la inicialización.
2. Complejidad: Si una clase tiene múltiples constructores con diferentes
parámetros, pueden aumentar la complejidad del código.
3. Posible duplicación de código: Si se realizan tareas de inicialización similares en
varios constructores, puede conducir a la duplicación de código.

Ventajas de Destructores:

1. Liberación de recursos: los destructores permiten la liberación segura de


recursos, como memoria dinámica o manejo de archivos, evitando fugas de
memoria o recursos no liberados.
2. Automatización: La gestión de recursos en destructores puede volverse
compleja en situaciones donde múltiples recursos deben liberarse en un orden
especifico.

Desventajas de Destructores:
1. Potencial para errores: Los errores en la lógica del constructor pueden ser
difíciles de depurar y pueden resultar en problemas de seguridad.
2. Problemas de rendimiento: Si se ejecuta una lógica compleja en el destructor,
puede afectar el rendimiento de la aplicación.
3. Potencial para errores: Los errores en la lógica del destructor pueden ser
difíciles de depurar y pueden resultar en problemas de seguridad.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy