Diferencia entre Struct y Enum en C/C++ con ejemplos

Estructura en C++

Una estructura es un tipo de datos definido por el usuario en C/C++. Una estructura crea un tipo de datos que se puede usar para agrupar elementos de tipos posiblemente diferentes en un solo tipo. La palabra clave ‘struct’ se utiliza para crear una estructura. 

struct nombreEstructura{

    miembro1;

    miembro2;

    miembro3;

    .

    .

    .

    miembroN;

};

A continuación se muestra la implementación:

C++

#include<stdio.h>
 
struct Point
{
int x, y;
};
 
int main()
{
struct Point p1 = {0, 1};
 
// Accessing members of point p1
p1.x = 10;
printf ("x = %d, y = %d", p1.x, p1.y);
 
return 0;
}
Producción

x = 10, y = 1

Las estructuras en C++ pueden contener dos tipos de miembros:  

  • Miembro de datos : estos miembros son variables normales de C++. Podemos crear una estructura con variables de diferentes tipos de datos en C++.
  • Funciones miembro : estos miembros son funciones normales de C++. Junto con las variables, también podemos incluir funciones dentro de una declaración de estructura.

Enumeración en C++

Enum es el nombre abreviado de enumeración. Es un tipo de datos definido por el usuario. Se utiliza para definir una lista de opciones que se pueden seleccionar. Una vez que se declara enum, no podemos cambiar su valor, el compilador arrojará un error. Dos enumeraciones no pueden compartir los mismos nombres.

enum enumName{

    miembro1;

    miembro2;

    miembro3;

    .

    .

    .

    miembroN;

};

A continuación se muestra la implementación:

C++

#include <bits/stdc++.h>
using namespace std;
 
// Defining enum Year
enum year {
    Jan,
    Feb,
    Mar,
    Apr,
    May,
    Jun,
    Jul,
    Aug,
    Sep,
    Oct,
    Nov,
    Dec
};
 
// Driver Code
int main()
{
    int i;
 
    // Traversing the enum year
    for (i = Jan; i <= Dec; i++)
        cout << i << endl;
 
    return 0;
}
Producción

0
1
2
3
4
5
6
7
8
9
10
11

Diferencia entre estructura y enumeración

No. S. estructura enumeración
1 La palabra clave «struct» se usa para declarar una estructura La palabra clave «enum» se usa para declarar enum.
2 La estructura es un tipo de datos definido por el usuario que es una colección de tipos de datos diferentes. Enum es para definir una colección de opciones disponibles.
3 Una estructura puede contener variables de datos y métodos.  Enum solo puede contener tipos de datos.
4 Una estructura admite un especificador de acceso privado pero no protegido. Enum no tiene un especificador de acceso privado y protegido.
5 La estructura no se puede heredar. Enum tampoco es compatible con la herencia.
6 La estructura admite la encapsulación. Enum no admite la encapsulación.
7 Cuando se declara la estructura, se pueden modificar los valores de sus objetos. Una vez que se declara la enumeración, su valor no se puede cambiar, de lo contrario, el compilador arrojará un error.
8

Struct solo contiene constructores parametrizados y no destructores. 

El compilador no genera un constructor predeterminado para una estructura.

Enum no contiene constructores y destructores.
9 Los valores asignados a la estructura se almacenan en la memoria de pila. La memoria para enumerar los tipos de datos se asigna en la pila.

Publicación traducida automáticamente

Artículo escrito por rn540 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *