En C++, las clases y estructuras son planos que se utilizan para crear la instancia de una clase. Las estructuras se utilizan para objetos livianos como Rectángulo, color, Punto, etc.
A diferencia de las clases, las estructuras en C++ son de tipo valor que de tipo de referencia. Es útil si tiene datos que no deben modificarse después de la creación de la estructura.
convertir nfa a dfa
Estructura C++ es una colección de diferentes tipos de datos. Es similar a la clase que contiene diferentes tipos de datos.
La sintaxis de la estructura
struct structure_name { // member declarations. }
En la declaración anterior, una estructura se declara precediendo al palabra clave de estructura seguido del identificador (nombre de la estructura). Dentro de las llaves, podemos declarar las variables miembro de diferentes tipos. Considere la siguiente situación:
struct Student { char name[20]; int id; int age; }
En el caso anterior, Student es una estructura que contiene tres variables: nombre, identificación y edad. Cuando se declara la estructura, no se asigna memoria. Cuando se crea la variable de una estructura, se asigna la memoria. Entendamos este escenario.
¿Cómo crear la instancia de Estructura?
La variable de estructura se puede definir como:
Estudiantes;
¿Qué es gb?
Aquí, s es una variable de estructura de tipo Alumno . Cuando se crea la variable de estructura, se asignará la memoria. La estructura del estudiante contiene una variable de tipo char y dos variables enteras. Por lo tanto, la memoria para una variable char es de 1 byte y dos entradas serán 2*4 = 8. La memoria total ocupada por la variable s es de 9 bytes.
Cómo acceder a la variable de Estructura:
Se puede acceder a la variable de la estructura simplemente usando la instancia de la estructura seguida del operador punto (.) y luego el campo de la estructura.
Por ejemplo:
s.id = 4;
En la declaración anterior, accedemos al campo id de la estructura Estudiante usando el punto(.) operador y asigna el valor 4 al campo id.
xd significado
Ejemplo de estructura C++
Veamos un ejemplo simple de estructura Rectángulo que tiene dos miembros de datos, ancho y alto.
#include using namespace std; struct Rectangle { int width, height; }; int main(void) { struct Rectangle rec; rec.width=8; rec.height=5; cout<<'area of rectangle is: '<<(rec.width * rec.height)<<endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 40 </pre> <h2>C++ Struct Example: Using Constructor and Method</h2> <p>Let's see another example of struct where we are using the constructor to initialize data and method to calculate the area of rectangle.</p> <pre> #include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout<<'area of rectangle is: '<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as 'Structure variable'. </td> <td>The instance of the class is known as 'Object of the class'.</td> </tr> </table></'area></pre></'area>
Ejemplo de estructura C++: uso de constructor y método
Veamos otro ejemplo de estructura donde usamos el constructor para inicializar datos y el método para calcular el área del rectángulo.
#include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout<<\'area of rectangle is: \'<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as 'Structure variable'. </td> <td>The instance of the class is known as 'Object of the class'.</td> </tr> </table></\'area>
Estructura v/s Clase
Estructura | Clase |
---|---|
Si el especificador de acceso no se declara explícitamente, entonces, de forma predeterminada, el especificador de acceso será público. | Si el especificador de acceso no se declara explícitamente, entonces, de forma predeterminada, el especificador de acceso será privado. |
Sintaxis de estructura: estructura nombre_estructura { // cuerpo de la estructura. } | Sintaxis de clase: clase nombre_clase { // cuerpo de la clase. } |
La instancia de la estructura se conoce como 'variable de estructura'. | La instancia de la clase se conoce como 'Objeto de la clase'. |