class Caja {
double longitud,
anchura, altura;
public:
Caja (double dim1,
double dim2, double dim3);
Caja
(void);
void set (double nuevaLongitud, double
nuevaAnchura, double nuevaAltura);
void print
(void);
double getLongitud (void);
double volumen (void) {return longitud * anchura *
altura};
~Caja (void);
};
En Caja.h hemos incluido sólo la definición de la clase. No se dan
detalles sobre las diversas funciones, excepto para volumen. Es decir, tenemos
la definición completa de cómo utilizar una clase sin detalles de
implementación. Este fichero no puede ser compilado ni ejecutado.
# include "Caja.h"
Caja :: Caja (double dim1, double dim2, double
dim3)
{
longitud = dim1;
anchura
= dim2;
altura = dim3;
};
Caja :: Caja (void)
{
longitud =
8;
anchura = 8;
altura = 8;
};
void Caja :: set (double nuevaLongitud,nuevaLongitud, double nuevaAnchura,
double nuevaAltura)
{
longitud =
nuevaLongitud;
anchura =
nuevaAnchura;
altura = nuevaAltura;
}
void Caja :: print (void)
{
cout << "longitud
= " << longitud <<'\n';
cout << "anchura
= " << anchura <<'\n';
cout << "altura =
" << altura <<'\n';
};
double Caja:: getLongitud (void) {
return
longitud;
};
Caja::~Caja (void) { longitud = 0;
anchura = 0; altura = 0; }
Vemos que:
main ()
{
Caja pequeña(5, 4, 10), mediana (10, 6, 20),
grande(20, 10, 30);
cout << "El volumen de la caja grande es " <<
grande.volumen() << '\n';
}