gratiszona

ARRAY DE OBJETOS EN EL LENGUAJE C

Un array de objetos.
De la misma forma que declaramos vectores cuyos elementos son los tipos definidos EN EL LENGUAJE C++ (int, float, double, ...) podemos definir vectores formados por objetos definidos por el usuario. Veamos un ejemplo, partiendo de la clase Caja.
# include <iostream.h>
# include ' Caja.h'
main () {
Caja pequeña(5, 4, 10), mediana(10, 6, 20), grande, varias [4];
grande.set (20, 10, 30);
for (int indice = 1; indice < 4; indice ++)
varias [indice].set(indice + 10, 10, 10);
cout << ' El volumen de la caja pequeña es ' << pequeña.volumen() <<'\n';
cout << ' El volumen de la caja mediana es ' << mediana.volumen() <<'\n';
cout << ' El volumen de la caja grande es ' << grande.volumen() <<'\n';
for (indice = 0; indice < 4; indice ++)
cout << ' El volumen del array de cajas es' << varias[indice].volumen() <<'\n';
}
El resultado de la ejecucion de este programa sera:
El volumen de la caja pequeña es 200
El volumen de la caja mediana es 1200
El volumen de la caja grande es 6000
El volumen del array de cajas es 512
El volumen del array de cajas es 1100
El volumen del array de cajas es 1200
El volumen del array de cajas es 1300
Declaramos varias, un array formado por cuatro objetos del tipo Caja. Al hacer esta declaracion, estamos llamando al constructor para cada uno de los cuatro objetos. Para declarar un array de objetos, debe existir un constructor para ese objeto que no reciba parametros.
El contador del bucle for, indice,toma 1 como valor inicial, dejando que el primer objeto, varias [0], tome los valores por defecto (todas las dimensiones iguales a 8). Dentro del bucle, se llama a la funcion set para dar valor a lasdimensiones de cada objeto. Esta construccion es similar a la de los objetos normales.
La variable indice se declara en el primer bucle y esta todavia disponible para su uso en el bucle de impresion, ya que no hemos salido del bloque en el que se declaro, la funcion main.
Anterior: clases descomposicion en modulos
Siguiente: clases static

Tal vez te interese sobre lenguaje c: