Constructores y destructores de C ++

Constructores y destructores de C ++
En C ++, el constructor es una característica fuerte de una clase. Sabemos que en C ++, solíamos hacer varias clases. En las clases, lo usamos para funcionar. Entonces, el constructor es un tipo especial de función miembro.

El destructor también es una función de una clase en c++. Al igual que el destructor de constructor también tiene algunas características especiales. Ahora discutimos tanto el constructor como el destructor en nuestro tema.

Características básicas del constructor:

  1. El constructor tiene una característica única: tanto el nombre de clase como el nombre del constructor deben ser el mismo.
  2. El constructor no tiene ningún tipo de retorno como función normal. Entonces no podemos usar ninguna palabra clave de retorno dentro del constructor.
  3. El constructor se comporta como una función, pero difiere de una función normal.

Ahora escribimos un programa, cómo hacer un constructor en una clase.

Programación Ejemplo 1:

#incluir
usando el espacio de nombres STD;
complejo de clases

privado :
int x, y;
público :
Complejo () // crea un constructor dentro de la clase.

cout<< “ Example of a Constructor \n ” ;

;
int main ()

Complejo com;
regresar 0;

Producción:

Explicación:

Aquí creamos una clase llamada complejo. Declaramos dos variables, x e y, bajo el modificador de acceso privado. Luego creamos un constructor en un modificador público similar al nombre de la clase. Aquí no escribimos ninguna palabra clave de retorno para el constructor.

El constructor se llama implícitamente. Cuando un objeto está obteniendo el constructor de memoria se ejecutará de forma predeterminada.

Clasificación del constructor:

Hay tres tipos de constructores disponibles en C++. Ellos son

  1. Por defecto.
  2. Parametrizado.
  3. Copiar.

a. Constructor predeterminado:

Cada vez que no creamos ningún constructor para una clase y creamos un objeto para esa clase, el compilador llama implícitamente el constríclamente. Ese tipo de constructor se llama constructor predeterminado. Tiene una característica especial. No hay código dentro de su cuerpo, y no toma ningún parámetro.

Programación Ejemplo 2:

#incluir
usando el espacio de nombres STD;
complejo de clases

Privado :
int a, b;
público :
;
vacío principal()

Complejo com;

Producción:
Como este programa no tiene ninguna declaración de salida, no tiene ningún resultado.

Explicación:

Aquí creamos un complejo de clase. Dentro de la clase compleja, no creamos ningún constructor. Pero dentro del main (), cuando creamos un objeto llamado COM, el compilador crea un constructor predeterminado en el archivo de objeto. Se llama constructor predeterminado. Este tipo de constructor no tiene ninguna codificación dentro de su cuerpo.

b. Constructor parametrizado:

Si queremos pasar algunos argumentos dentro del constructor, se llama constructor parametrizado.

Programación Ejemplo 3:

#incluir
usando el espacio de nombres STD;
complejo de clases

privado :
int a, b;
público :
Complejo (int x, int y) // crear un constructor parametrizado.

a = x;
b = y;
cout<< “ The values of a and b are”
<;
int main ()

Complex com (3, 4);
regresar 0;

Producción:

Explicación:

El código anterior es un ejemplo de un constructor parametrizado. Aquí pasamos dos enteros como argumentos x e y dentro del complejo constructor. Si pasamos algunos valores como 3 y 4 dentro del objeto COM como com (3, 4) de la función principal, ese valor va al constructor.

C. Constructor de copia:

Cuando un objeto de clase se copia a otro objeto de la misma clase, se llama constructor de copia. Significa que ambos objetos tienen el mismo valor de la misma clase.

Programación Ejemplo 4:

#incluir
Ejemplo de clase

int x, y;
público :
Ejemplo (int a, int b) // crear un constructor dentro de la clase.

x = a;
y = b;

pantalla vacía ()

cout << “ The values are : ”
<< x << “ and” << y ;

;
vacío principal()

Ejemplo ex1 (50, 60);
Ejemplo ex2 = com1;
EX2.mostrar() ;

Producción:

Explicación:

Aquí creamos un complejo de nombres de constructor parametrizados. EX1 es un objeto del ejemplo de clase. A través del objeto EX1, pasamos dos valores, 50 y 60. En display (), la salida se mostrará en 50 y 60.

Ahora copiamos el valor de EX1 a otro objeto, EX2. El resultado será el mismo si llamamos a la función Display () a través del objeto EX2.

Incinerador de basuras:

Un destructor es otra característica poderosa como el constructor de una clase. Su nombre será el mismo que el nombre de la clase que vimos en el constructor anteriormente. Pero un símbolo llamado Tilde (~) se separa un destructor de un constructor en la codificación.

Tampoco tiene un tipo de retorno como constructor y nunca puede ser estático.
La principal diferencia entre el constructor y el destructor es que el destructor no toma argumentos como el constructor. Significa que la sobrecarga no es posible en el caso de un destructor.

Programación Ejemplo 5:

#incluir
usando el espacio de nombres STD;
complejo de clases

privado :
int a, b;
público:
~ Complejo () // crear un destructor dentro de la clase.

cout<< “ Example of a Destructor\n ” ;

;
Void Fun ()

Complejo des; // Creando el objeto de la clase

int main ()

divertido() ;
regresar 0;

Producción:

Explicación:

Aquí creamos un complejo de nombres de destructores bajo la clase compleja. Ahora tenemos que saber cuál es la razón por la que usamos el destructor. El destructor es invocado implícitamente por el compilador cuando un objeto destruirá. Es una idea errónea de que los destructores destruyen la memoria del objeto. El hecho es que el destructor es el último método que se ejecuta. Después de ese objeto seguramente se destruirá, lo que significa en Main () Cuando se ejecuta la diversión (), el objeto debe ser destruido.

Conclusión:

Después de discutir el concepto de constructor y destructor, concluiremos que el constructor y el destructor son importantes funciones miembros de la clase en c++. Tanto el constructor como el destructor mejoran las características de la clase de manera muy eficiente.