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';
}