Array of Objects : Es un array cuyos elementos son del tipo clase . Se puede declarar como una array de cualquier tipo de datos .
Sintaxis:
nombre_clase nombre_arreglo [tamaño];
A continuación se muestra el programa C++ para ilustrar la array de objetos calculando las calificaciones más altas entre 3 estudiantes:
C++
// C++ program to illustrate the // passing the array of objects // to function parameter #include <bits/stdc++.h> using namespace std; // Class Student class Student { int roll; char name[50]; int total; public: // Function to input Roll Number void getdata() { cout << "Enter your Roll: " << endl; cin >> roll; cout << "Enter your Name: " << endl; cin.ignore(); cin.get(name, 50); cout << "Enter your Total " << "Marks: " << endl; cin >> total; } // Function to pass the array of // objects int pos(Student obj[], int size) { int pos = 0; int max = obj[0].total; // Traverse the array of object for (int i = 0; i < size; i++) { if (obj[i].total > max) { max = obj[i].total; pos = i; } } return pos; } // Function to display the students // details void putdata() { cout << "Roll: " << roll << endl; cout << "Name: " << name << endl; cout << "Total Marks: " << total << endl; } }; // Function that have array of objects void arrayOfObjects() { Student s[3], s1; int pos; for (int i = 0; i < 3; i++) { s[i].getdata(); } pos = s1.pos(s, 3); cout << "Highest scoring Student" << " Details:" << endl; s[pos].putdata(); } // Driver Code int main() { // Function Call arrayOfObjects(); return 0; }
Producción:
Explicación :
- En la función main() se crean objetos de la clase Student:
- Aquí, la primera array de objetos es s[3] y la otra es s1 (un objeto simple).
- En el bucle for, se han tomado 3 conjuntos de entrada del usuario (es decir, es donde el usuario ingresará el nombre, la tirada, las calificaciones totales, para conjuntos de 3 estudiantes).
- Luego, pase el s[3] (array de un objeto que contiene los conjuntos de detalles del estudiante) y su tamaño, a través del objeto s1 en la función miembro pos(Student obj [], int size) .
- La función pos(Student obj [], int size) devuelve la posición del objeto del conjunto de estudiantes con la puntuación total más alta, es decir, (posición de índice 0, 1 o 2 de la array de objetos s[3] ), que se almacena en pos = s1.pos(s, 3) .
- Parte de visualización: para llamar a la función de visualización, se utiliza S[pos].putdata() .
- losponer datos()La función muestra los detalles del objeto de la clase de estudiante.
- Aquí, se envía pos (que almacena la posición de índice del objeto de conjunto de estudiantes más alto) en s , para mostrar los detalles del estudiante con las calificaciones totales más altas.
Complejidad temporal: O(n)
Espacio auxiliar: O(n)
Publicación traducida automáticamente
Artículo escrito por debojyotidas9294 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA