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++ ¿cómo puedo crear un array de objetos cuando hay un constructor?

Si myClass no tiene un constructor, lo siguiente funciona bien:

myClass x[5];

Si agrego un constructor en myClass, esta línea resulta en un error de compilación.

¿Cuál es la práctica estándar para crear un array de objetos cuando se define un constructor?

¿Es posible llenar todo el array de objetos con un solo constructor?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Si myClass tiene un constructor definido, es una práctica estándar utilizar un bucle para crear un array de objetos. Por ejemplo:

    myClass x[5];
    for(int i=0; i<5; i++) {
        x[i] = myClass(); // llama al constructor por defecto
    }
    

    Esto asegura que cada objeto en el array es construido correctamente usando el constructor definido.

    Alternativamente, si el constructor recibe argumentos, también podemos utilizar un bucle para pasar diferentes parámetros al constructor de cada objeto.

    Es posible llenar todo el array de objetos con una sola llamada al constructor utilizando la sintaxis de la lista de inicialización. Por ejemplo:

    myClass x[5] = {myClass(), myClass(), myClass(), myClass(), myClass()};
    

    Esto crea un array de 5 objetos myClass y llama al constructor por defecto para cada uno de ellos. Sin embargo, si el constructor recibe argumentos, también podemos utilizar la lista de inicialización para pasar diferentes parámetros al constructor de cada objeto.

Comments are closed.