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; }
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; }
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. |