¿Qué es Vector de Objetos C++?

Que Es Vector De Objetos C



Como principiante de C++, es posible que escuche el término ' vector de objetos ”. Sin embargo, no tiene una comprensión adecuada de lo que significa este término y cómo podría usarse en un programa C ++.

Si usted es el que busca orientación sobre vector de objetos en C++, siga las instrucciones de este artículo.

¿Qué es un vector de objetos en C++?

En C++, un vector de objetos es una estructura de datos que permite a los usuarios almacenar un conjunto de objetos o tipos de datos relacionados. Funciona de manera similar a una matriz normal y ofrece la ventaja de que los usuarios pueden cambiar su tamaño, lo que significa que puede crecer o reducirse según las necesidades de un programa. Esta característica es especialmente útil cuando se trabaja con grandes conjuntos de datos de diferentes tamaños.







Cómo crear vectores de objetos en C++

Un vector de objetos de clase parece ser un ejemplo de dicho vector personalizado en el que se pueden almacenar varias instancias de clase.



El siguiente programa en C++ creará un vector de objetos de clase.



#incluir
#incluir
#incluir
usando espacio de nombres estándar ;
En t rand_Entero ( En t X, En t y )
{
    devolver ( X + rand ( ) % y ) ;
}
cadena rand_String ( En t perezoso1 )
{
cadena str1 ;
    para ( En t i = 0 ; i < perezoso1 ; i ++ ) {
        carbonizarse ch = 'A' + rand ( ) % 26 ;
str1. hacer retroceder ( ch ) ;
    }
    devolver str1 ;
}
clase Empleado
{
nombre de cadena ;
    En t identificación ;
    En t edad ;
público :
    vacío adquiridor ( )
    {
nombre = rand_String ( 10 ) ;
identificación = rand_Entero ( 10 , 30 ) ;
edad = rand_Entero ( 25 , 40 ) ;
    }
    vacío disipar ( )
    {
        cout << nombre << ' \t ' << identificación << ' \t ' << edad << ' \t ' << ' \norte ' ;
    }
} ;
En t principal ( )
{
vector v1 ;
Empleados ;
    para ( En t i = 0 ; i < 5 ; i ++ )
    {
s. adquiridor ( ) ;
v1. hacer retroceder ( s ) ;
    }
    para ( En t i = 0 ; i < 5 ; i ++ )
    {
v1 [ i ] . disipar ( ) ;
    }
    devolver 0 ;
}

En el código anterior, hemos generado aleatoriamente los datos (nombre, edad e identificación) de cinco empleados usando un vector de objetos de clase llamados ' Empleado ”. Donde definimos el rango de 10-30 para la identificación del empleado y 25-40 para su edad.





Ventajas de Usar Vector de Objetos en C++

Hay varias ventajas de usar un vector de objetos en C++, que son las siguientes:



  • Permite a los usuarios almacenar, administrar y acceder a los datos de manera eficiente.
  • Los usuarios pueden agregar, eliminar o manipular datos según sus necesidades sin necesidad de crear una matriz desde cero.
  • Optimiza el diseño de la memoria de los objetos.
  • Cambie fácilmente el tamaño de la matriz durante el tiempo de ejecución.
  • El rendimiento mejora cuando se trata de datos de gran tamaño.

Un vector con puntero de clase

También puedes usar un vector de objetos en C++ para almacenar la dirección del objeto en lugar de insertar objetos directamente en los vectores. Aquí hay un ejemplo para tal caso:

#incluir
#incluir
usando espacio de nombres estándar ;
clase dueño
{
público :
nombre de cadena ;
} ;
En t principal ( )
{
sitios vectoriales ;
dueño * s1 = nuevo dueño ( ) ;
s1 - > nombre = 'Alex' ;
dueño * s2 = nuevo dueño ( ) ;
s2 - > nombre = 'Él mismo' ;
sitios hacer retroceder ( s1 ) ;
sitios hacer retroceder ( s2 ) ;
    para ( auto él : sitios ) {
        cout << 'Dueño:' < nombre
            << 'Identificación del propietario:' << él << final ;
    }
    devolver 0 ;
}

En este código, usamos un vector de objetos en C++ para almacenar la dirección de un objeto llamado 'propietario' en lugar de insertar objetos directamente en el vector. Aquí usamos un operador de flecha para acceder a los miembros del objeto.

Conclusión

Un contenedor útil en C++ que permite a los usuarios almacenar varios objetos del mismo tipo en un solo lugar se denomina vector de objetos. Ayuda a que su código sea más eficiente y flexible. Además, al usar vectores de objetos, puede manipular y acceder fácilmente a los datos que lo ayudan a escribir programas más complejos con facilidad.