la ,
Ejemplo:
Consideremos un ejemplo de tomar números enteros aleatorios del usuario.
Array de objetos
Sintaxis:
ClassName ObjectName[number of objects];
La array de objetos almacena objetos . Una array de un tipo de clase también se conoce como array de objetos.
Ejemplo #1:
Almacenamiento de datos de más de un empleado. Supongamos que hay una array de objetos para almacenar datos de empleados emp[50].
A continuación se muestra el programa C++ para almacenar datos de un empleado:
C++
// C++ program to implement // the above approach #include<iostream> using namespace std; class Employee { int id; char name[30]; public: void getdata();//Declaration of function void putdata();//Declaration of function }; void Employee::getdata(){//Defining of function cout<<"Enter Id : "; cin>>id; cout<<"Enter Name : "; cin>>name; } void Employee::putdata(){//Defining of function cout<<id<<" "; cout<<name<<" "; cout<<endl; } int main(){ Employee emp; //One member emp.getdata();//Accessing the function emp.putdata();//Accessing the function return 0; }
Entendamos el ejemplo anterior –
- En el ejemplo anterior, se está considerando una clase llamada Empleado con identificación y nombre.
- Las dos funciones se declaran-
- getdata(): tomando la entrada del usuario para la identificación y el nombre.
- putdata(): Muestra los datos en la pantalla de la consola.
Este programa puede tomar los datos de un solo Empleado. ¿Qué pasa si hay un requisito para agregar datos de más de un empleado? Aquí viene la respuesta Array of Objects. Se puede usar una array de objetos si es necesario almacenar datos de más de un empleado. A continuación se muestra el programa C++ para implementar el enfoque anterior:
C++
// C++ program to implement // the above approach #include<iostream> using namespace std; class Employee { int id; char name[30]; public: // Declaration of function void getdata(); // Declaration of function void putdata(); }; // Defining the function outside // the class void Employee::getdata() { cout << "Enter Id : "; cin >> id; cout << "Enter Name : "; cin >> name; } // Defining the function outside // the class void Employee::putdata() { cout << id << " "; cout << name << " "; cout << endl; } // Driver code int main() { // This is an array of objects having // maximum limit of 30 Employees Employee emp[30]; int n, i; cout << "Enter Number of Employees - "; cin >> n; // Accessing the function for(i = 0; i < n; i++) emp[i].getdata(); cout << "Employee Data - " << endl; // Accessing the function for(i = 0; i < n; i++) emp[i].putdata(); }
Producción:
Explicación:
en este ejemplo, se pueden almacenar más de los detalles de un empleado con una identificación y un nombre de empleado.
- Employee emp[30]: esta es una array de objetos que tiene un límite máximo de 30 empleados.
- Se están utilizando dos bucles for-
- El primero en tomar la entrada del usuario llamando a la función emp[i].getdata().
- El segundo para imprimir los datos de Employee llamando a la función emp[i].putdata().
Ejemplo #2:
C++
// C++ program to implement // the above approach #include<iostream> using namespace std; class item { char name[30]; int price; public: void getitem(); void printitem(); }; // Function to get item details void item::getitem() { cout << "Item Name = "; cin >> name; cout << "Price = "; cin >> price; } // Function to print item // details void item ::printitem() { cout << "Name : " << name << "\n"; cout << "Price : " << price << "\n"; } const int size = 3; // Driver code int main() { item t[size]; for(int i = 0; i < size; i++) { cout << "Item : " << (i + 1) << "\n"; t[i].getitem(); } for(int i = 0; i < size; i++) { cout << "Item Details : " << (i + 1) << "\n"; t[i].printitem(); } }
Producción:
Ventajas de la array de objetos:
- La array de objetos representa el almacenamiento de múltiples objetos en un solo nombre.
- En una array de objetos, se puede acceder a los datos aleatoriamente utilizando el número de índice.
- Reduzca el tiempo y la memoria almacenando los datos en una sola variable.
Publicación traducida automáticamente
Artículo escrito por nitupandel001 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA