Constructores de estructuras en C++

Naila Saad Siddiqui 12 octubre 2023
  1. Introducción a struct en C++
  2. Constructores struct en C++
Constructores de estructuras en C++

Este pequeño tutorial discutirá el uso de struct y la adición de constructores usando C++.

Introducción a struct en C++

struct significa Estructura y es el tipo de datos definido por el usuario que combina algunas variables de tipo primitivo. Estas variables se mezclan para formar una nueva unidad.

También tiene un nombre definido por el usuario. La sintaxis para declarar una estructura es la siguiente:

struct structName {
  data - type var_1;
  data - type var_2;
  ........date - type var_N
};

La sintaxis anterior sugiere que la estructura tiene un nombre definido por el usuario y algún conjunto de variables. Estas variables pueden ser de algunos tipos de datos primitivos y también algunas otras variables de clase o estructura definidas por el usuario.

Una estructura puede tener todos o algunos miembros de datos, funciones miembro, constructores, destructores, operadores, eventos y cualquier tipo de datos anidado. Después de declarar la estructura, su objeto se puede crear con o sin la palabra clave nueva de esta manera:

structName objectName = new structName();
OR structName objectName;

La diferencia es que si inicializamos el objeto con nuevo, se llama al constructor predeterminado y a todos los miembros de datos se les asignan algunos valores, y si no usamos nuevo, los miembros de datos permanecen sin asignar.

Constructores struct en C++

Los constructores son las funciones miembro llamadas implícitamente cuando el objeto se crea utilizando la palabra clave nuevo. Estas funciones miembro se utilizan para inicializar el valor de los miembros de datos de la estructura.

Además, podemos tener un constructor predeterminado y uno parametrizado en una estructura. La sintaxis de declarar el constructor es la siguiente:

struct structName {
  datatype var1;
  structName() { var1 = [some - value]; }
};

El pseudocódigo anterior muestra la sintaxis para declarar un constructor predeterminado. El código real se muestra en el siguiente ejemplo:

struct Square {
  float sides;
  Square() { sides = 0; }
  Square(int s) { sides = s; }
};

En el código anterior, hemos declarado dos constructores, uno es el predeterminado y el otro está parametrizado. Para crear el objeto de struct:

int main() {
  Square s1 = new Square();   // default constructor called
  Square s2 = new Square(5);  // parameterized constructor called
  Square s3;                  // No constructor called
}

Artículo relacionado - C++ Constructor