AGREGACIÓN
Es un término empleado en el Diseño Orientado a Objetos que se refiere a la acción de coleccionar características o elementos que forman en conjunto una nueva idea.
Por ejemplo:
El conjunto de 8 elementos formado por las cifras (9,1,8,2,1,7,3)
Puede ser manejado como un conjunto de 4 elementos si formaron la idea "Año de la Independencia del Perú" sabiendo que ésta se realizó en el año 1821. La idea "Año de la Independencia del Perú" es una agregación de los dígitos 1, 8, 2, 1.
Agregado
En una colección de partes que juntas forman algo nuevo que es más que la suma de sus partes, un ejemplo de esto es una computadora.
//Agregación #include<string.h> #include<iostream.h> #include<conio.h> #include<iomanip.h> class Persona { char Nombre[40]; char Direccion[40]; char LE[10]; char FechaNac[11]; public: void DefineNombre(char *); void DefineDireccion(char *); void DefineLE(char *); void DefineFechaNac(char *); char *DameNombre(void); char *DameDireccion(void); char *DameLE(void); char *DameFechaNac(void); }; void Persona::DefineNombre(char *N) { strcpy(Nombre, N); } void Persona::DefineDireccion(char *D) { strcpy(Direccion, D); } void Persona::DefineLE(char *L) { strcpy(LE, L); } void Persona::DefineFechaNac(char *F) { strcpy(FechaNac, F); } char *Persona::DameNombre(void) { return Nombre; } char *Persona::DameDireccion(void) { return Direccion; } char *Persona::DameLE(void) { return LE; } char *Persona::DameFechaNac(void) { return FechaNac; } enum Estado {Baja, Alta}; class Club { char FechaFund[11]; int NumMiembros; Persona Miembro[10]; Estado Miemb[10]; public: Club(void); void DeineFechaFund(char *); void InscribeMiembro(char *,char *,char *,char *); void EliminaMiembro(char *); int DameNumMiembros(void); Estado DameEstado(int); Persona *Datos(int); }; Club::Club(void) { NumMiembros=0; for (int i=0; i<10; i++) Miemb[i]=Baja; } void Club::DeineFechaFund(char *F) { strcpy(FechaFund, F); } void Club::InscribeMiembro(char *N, char *D, char *L, char *F) { int i; for(i=0; Miemb[i]==Alta; i++); Miemb[i]=Alta; Miembro[i].DefineNombre(N); Miembro[i].DefineDireccion(D); Miembro[i].DefineLE(L); Miembro[i].DefineFechaNac(F); NumMiembros++; } void Club::EliminaMiembro(char *N) { int i; for(i=0; i<10 && strcmp(Miembro[i].DameNombre(),N); i++); Miemb[i]=Baja; } int Club::DameNumMiembros(void) { return NumMiembros; } Estado Club::DameEstado(int N) { return Miemb[N]; } Persona *Club::Datos(int N) { return &Miembro[N]; } void main(void) { Club C; char N[40], D[40], L[10], F[11]; cout << "Ingrese los datos de los nuevos miembros" << endl; cout << "'Nombre = fin' para terminar" << endl; while(1) { cout << "Nombre = " ; cin.getline(N,40); if(!strcmp(N,"fin"))break; cout << "Dirección = " ; cin.getline(D,40); cout << "Documento = " ; cin.getline(L,10); cout << "Fecha de Nacimiento = " ; cin.getline(F,11); C.InscribeMiembro(N,D,L,F); } clrscr(); int i,m=0; cout << "Listado de Miembros" << endl; for (i=0; i<10 && m< C.DameNumMiembros(); i++) { Persona *P; if ( C.DameEstado(i) == Alta) { m++; P=C.Datos(i); cout << setw(20) << P->DameNombre() << setw(20) << P->DameDireccion() << setw(15) << P->DameLE() << setw(15) << P->DameFechaNac() << endl; } } }
![]() |
![]() ![]() |