Constructor y Destructor en C ++ - Necesidades, usos con sintaxis y ejemplos

Tabla de contenido:

Anonim

Introducción sobre Constructor y Destructor en C ++

  • Constructor and Destructor en C ++ juega un papel importante en un lenguaje de programación orientado a objetos como C ++. Como tenemos Class y sus objetos en C ++ mientras creamos el nuevo objeto cada vez que el constructor se puede usar para inicializar el objeto, mientras que cuando el objeto está a punto de destruir el destructor se puede usar para realizar las operaciones posteriores requeridas.
  • Cuando creamos un objeto de una clase en C ++, podemos querer inicializar campos de clase con algunos valores predeterminados o ciertos. Una clase tiene sus campos y métodos. Los campos son principalmente variables u objetos. Al asignar valores predeterminados a estos campos, facilitamos nuestra programación. El constructor es como una función normal dentro de la clase y el compilador lo llama automáticamente cuando creamos un nuevo objeto de esa clase. Al crear el objeto, en realidad pasamos los valores requeridos como argumento al objeto, estos argumentos se pasan al constructor de la clase. Los valores del argumento ahora se pueden asignar a los campos correspondientes, que están disponibles en la clase. Además, podemos asignar valores predeterminados a los campos donde no pasamos los argumentos. Como tales, hay diferentes tipos y formas por las cuales inicializamos el constructor en C ++.
  • El constructor es como una función miembro especial de una clase. Cada vez que creamos un nuevo objeto, se ejecuta el constructor. La sintaxis de un constructor es muy simple, la función tendrá el mismo nombre que el de la clase en la que se define y no tendrá ningún tipo de retorno, ni siquiera vacío. Los constructores son muy útiles para asignar valores particulares a ciertos miembros de la clase. El constructor se puede usar para realizar lógica relacionada con la clase en el momento de la creación de instancias.

Sintaxis del constructor

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

El destructor en C ++ también es una función miembro especial en clase. El compilador llama automáticamente al destructor y se ejecuta cada vez que el objeto de esa clase en particular se sale del alcance o se elimina mediante el uso de la expresión delete en el puntero de ese objeto. Cada vez que un compilador destruye el objeto, se llama al destructor. En destructor, podemos ejecutar declaraciones que pueden ser cualquier cosa que queramos realizar cuando el objeto sale del alcance. Las operaciones posteriores como cerrar conexiones, cerrar archivos, etc. son algunos de los ejemplos que podemos realizar en el destructor.

Sintaxis de Destructor

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

La sintaxis del destructor es muy similar al constructor. Tendrá el mismo nombre que el de la clase en la que se define y no tendrá ningún tipo de retorno. Sin embargo, solo tendrá un signo ~ (tilde) antes del nombre del destructor. Por lo general, el destructor se usa para desasignar la memoria asignada dinámicamente para la clase y sus miembros. Los destructores son muy útiles para realizar operaciones posteriores, que se pueden realizar después de la lógica empresarial.

¿Por qué necesitamos un constructor y un destructor en C ++?

C ++ es un lenguaje de programación orientado a objetos. En cualquier lenguaje de programación orientado a objetos, mapeamos entidades originales de la vida real con la clase y los objetos.

Comprendamos por qué necesitamos un constructor y un destructor en C ++ por ejemplo de la vida real. Supongamos que tenemos entidad Box y hemos creado una clase para ella y también tendrá objetos que pueden usarse en otras partes. Ahora el cuadro tendrá ciertos parámetros como altura, longitud, ancho, etc. y cada vez que creamos un objeto de clase Cuadro, queremos que tome algún valor predeterminado. Digamos que para la altura, este objetivo se puede lograr asignando un valor predeterminado particular a la altura en el constructor de esa clase. Del mismo modo, para otros parámetros también se pueden asignar valores. Después de usar el objeto de Box, digamos que queremos una acción particular de inmediato o llamamos a alguna función. Esto se puede hacer usando Destructor en C ++. Las declaraciones requeridas se agregarán al destructor de esa clase. Estos son los beneficios en tiempo real de tener un constructor y un destructor en C ++.

¿Cómo funcionan los constructores y destructores en C ++?

Como se discutió anteriormente, el compilador llama al constructor cada vez que se crea un objeto. Si no definimos el constructor, el compilador de C ++ genera automáticamente un constructor predeterminado para nosotros. El constructor se usa para asignar la memoria si es necesario y construir el objeto de clase, mientras que un destructor se usa para realizar la limpieza requerida cuando se destruye un objeto. El compilador llama automáticamente al destructor cuando se destruye un objeto. Si no definimos nuestro propio destructor, el compilador de C ++ crea un destructor predeterminado.

¿Crear constructor y destructor en C ++? (Ejemplos)

1. Ejemplo de constructor

Tomemos el mismo ejemplo de clase Box para declarar el constructor. Asignemos algunos valores predeterminados a la altura y el peso de la caja.

Código

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Por lo tanto, cada vez que se crea el objeto de esta clase, devolverá el objeto de tipo Box con valores predeterminados como se definió anteriormente.

2. Ejemplo de destructor

Siempre que el objeto de Box quede fuera de alcance, imprimiremos algún texto en la consola en nuestro ejemplo. En realidad, la codificación puede realizar cualquier actividad específica.

Código

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Entonces, cada vez que el objeto de Box esté fuera de alcance, el compilador imprimirá el texto como se definió anteriormente en la consola.

Conclusión

Entonces, Constructor y Destructor juegan un papel importante en el lenguaje de programación orientado a objetos. Se usa un constructor para inicializar el objeto y se usa el destructor mientras se destruye el objeto. Tanto el constructor como el destructor son muy útiles mientras se programa en el lenguaje C ++.

Artículos recomendados

Esta es una guía para Constructor y Destructor en C ++. Aquí discutimos las necesidades de Constructor y Destructor en C ++, cómo usar, diferentes sintaxis y ejemplos. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Funciones de matriz de C ++
  2. Copiar constructor en C ++
  3. Introducción a C ++
  4. Tipos de constructor en C
  5. Guía de Destructor en C #
  6. Destructor en PHP con ejemplos