es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  , , ,

Answer

  1. Avatar for 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 clase Team:

    void Team::addNewPlayer(Players new_player) {
        players.push_back(new_player);
    }
    

Comments are closed.