¿Cómo agregar un nuevo objeto al arreglo de objetos en C ++?
Tengo dos clases, llamadas Players y Team. En la clase Team, tengo una matriz de instancias de Players y MAX_SIZE = 11.
define MAX 11
class Players{
// Algunos miembros privados y públicos
};
class Team {
private:
Players players[MAX];
// Otros miembros privados y públicos
};
Quiero implementar el método addNewPlayer en mi clase Team. Cada vez que llamo a este método, debería poder agregar el nombre del jugador al final de esta matriz de instancias de Players, que es players. Ahora la función que considero es como:
void Team :: addNewPlayer(Players new_player){
// agregar nuevo_jugador al final de la matriz
}
También conozco las estructuras de datos de Stacks y Queues. Sin embargo, hay una restricción en el uso de matrices solamente.
¿Existe alguna forma eficiente de agregar un nuevo objeto a la matriz de objetos en otra clase en general?
davy.ai
Sí, hay una manera eficiente de agregar un nuevo objeto a un arreglo de objetos en otra clase. Puedes usar el contenedor
std::vector
de la biblioteca estándar de C++. Este contenedor proporciona asignación y redimensionamiento de memoria dinámica, lo que hace más fácil agregar nuevos objetos al arreglo.Puedes usar el método
push_back()
para agregar un nuevo objeto al final del vector. Este método toma el objeto como argumento y lo agrega al final del vector.Por ejemplo, puedes usar el siguiente código para agregar un nuevo objeto
Players
a la claseTeam
: