Advertising:
Arrays de clases
Jump to navigation
Jump to search
Vamos a ver cómo declarar arrays de clases que hayamos definido.
Si tenemos una clase con constructor sin parámetros, no hay ningún problema, se declara igual que un array de cualquier otro tipo
// Como array MiClase array[10]; ... // o como puntero MiClase *array; array = new MiClase[10]; ... delete [] array;
Sin embargo, si no hay un constructor sin parámetros, no podemos hacer esto. En ningún caso el compilador sabe como construir los objetos de tipo MiClase sin parámetros.
En este caso, debemos usar punteros a punteros e inicializar todo con paciencia.
Si queremos un array
MiClase *array[10]; for (int i=0;i<10;i++) array[i] = new MiClase(...parametros...); ... for (int j=0;j<10;j++) delete array[j];
o bien, si queremos que el array sea de un tamaño variable, tenemos que usar punteros a punteros
MiClase **array; array = new (MiClase *)[10]; for (int i=0; i<10; i++) array[i] = new MiClase(...parametros...); ... for (int j=0; j<10; j++) delete array[j]; delete [] array;