Estructura en c++
Los tipos estructura se declaran mediante la palabra clave struct.
struct: esta orden se emplea para agrupar variables de tipos iguales o diferentes en un solo registro, con la misma se pueden crear estructuras anónimas, estructuras con nombre, y un tipo especial de estructura conocida comobit-fields ( banderas o campos de bits ).
Sintaxis general:
struct [<nombre de la estructura>] {
[<tipo> <nombre de variable>[,<nombre de variable>,...]];
.} [<variable de estructura>[,<variable de estructura>,...];
Ejemplo
2-Acceso a los miembros de una estructura
C++ dispone de dos operadores para referenciar a losmiembros de estructuras y uniones. Son conocidos como operadores de selección de miembro:
Selector directo de miembro El selector directo de miembro (.) es un operador binario que debe usarse para acceder a los miembros de clases, estructuras y uniones.
Sintaxis expresión . Identificador
Expresión debe ser un objeto de tipo clase, unión o estructura.
Identificador debe ser un miembro de la clase,unión o estructura indicada en expresión.
Selector indirecto de miembro El selector indirecto de miembro ( -> ) es un operador binario que puede utilizarse para acceder a miembros de clases, estructuras y uniones a través de punteros. el hecho de acceder a objetos a través de punteros se denomina indirección (de ahí el nombre de este operador), y constituye un recurso de capital importancia yconstante uso en programación
Sintaxis ClPtr -> identificador
ClPtr debe ser un puntero a clase; puntero a estructura o puntero a unión.
identificador debe ser el nombre de un miembro de la clase, estructura o unión a que señala el puntero.
Ejemplo
struct Str { // declara estructura Str
int i;
char a;
} s, *sptr = &s; // declara s tipo Str, y sptr puntero a s
...s.i = 3; // asigna 3 al miembro i de s
sptr -> a = 'B'; // asigna 'B' al miembro a.s
3-Asignar estructura
La asignación de estructuras está permitida, pero sólo entre variables del mismo tipo
de estructura, salvo que se usen constructores, y funciona como la intuición dice que
debe hacerlo.
Veamos un ejemplo:
struct Punto {
int x, y;
Punto() {x = 0; y = 0;}
} Punto1,Punto2;
int main() {
Punto1.x = 10;
Punto1.y = 12;
Punto2 = Punto1;
}
La línea:
Punto2 = Punto1;
equivale a:
Punto2.x = Punto1.x;
Punto2.y = Punto1.y;
5-Estructuras anidadas
Los miembros de una estructura pueden ser ellos mismos otra estructura previamente identificada o bien una estructura anónima. está permitido anidar estructuras, con lo cual se pueden conseguir superestructuras muyelaboradas. estructuras anidadas, es decir, si la estructura B contiene un campo a de tipo estructura A, los sub-miembros de a pueden ser accedidos mediante una doble aplicación del operador de selección.
Ejemplo
struct stDireccion \{
char Calle[64];
int Portal;
int Piso;
char Puerta[3];
char CodigoPostal[6];
char Poblacion[32];
};
struct stPersona \{...
Regístrate para leer el documento completo.