Un objeto con un puntero interno

Modifiquemos la clase Caja para que incluya un puntero a una variable entera como atributo privado.

#include <iostream.h>

class Caja {

   double longitud, anchura, altura;
   int *point;


public:

   Caja(double dim1, double dim2, double dim3, int valorAlmacenado);
   ~Caja();
    
   double volumen(void) {return longitud * anchura * altura;}  // Inline
   int getValor(void) {return *point;}         // Inline
};



//Implementation del constructor
Caja::Caja(double dim1, double dim2, double dim3, int valorAlmacenado)        
{
   longitud = dim1;
   anchura = dim2;
   altura = dim3;
   point = new int;
   *point = valorAlmacenado;
}



Caja::~Caja(void)       //Destructor
{
  delete point;
}


main()
{
Caja pequeñ(5, 4, 10, 1), mediana (10, 6, 20, 2), grande(20, 10, 30, 3);         
    
   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";

   cout << "El valor almacenado en la caja pequeña es " << 
                                          pequeña.getValor() << "\n";
   cout << "El valor almacenado en la caja mediana es" << 
                                          mediana.get_valor() << "\n";
   cout << "El valor almacenado en la caja grande es " << 
                                          grande.get_valor() << "\n";
}

El resultado de la ejecución será:

El volumen de la caja pequeña es  200
El volumen de la caja mediana es es 1200
El volumen de la caja grande es 6000
El valor almacenado en la caja pequeña es 1
El valor almacenado en la caja mediana es 2
El valor almacenado en la caja grande es  3

Free Web Hosting