Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2005, 07:57
zaqpz
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 7 meses
Puntos: 2
Pregunta Duda con sobrecarga pre y post del ++

Hola chic@s, mi tema es el siguiente (C++):
Tengo una clase base llamada "area" la cual tiene sobrecargado el ++ como pre y post orden. También tengo una clase derivada "rectangulo" que hereda los atributos "base" y "altura" de la clase madre. En "rectangulo" tengo también la intención de sobrecargar el ++, pero me da la sensación que no es necesario reescribir todo el código de la sobrecarga, y que es posible hacer esa sobrecarga mediante "cast".
Paso a pegarles fragmentos de código:

Código:
class area
{
   protected:
   float base, altura;
   public:
   area() { base = 0; altura = 0; }
   area(float, float);
   area(area&);

   virtual float calculo_area();

   friend ostream& operator << (ostream&, const area&);
   friend istream& operator >> (istream&, area&);

   area operator + (const area&) const;
   area& operator = (const area&);
   area& operator ++ (); // Pre
   area operator ++ (int); // Post.
};
Sus metodos son:

Código:
area& area::operator ++ ()
{
	base++;
   altura++;
   return *this;
}

area area::operator ++ (int)
{
	area auxiliar(*this);
   base++;
   altura++;
   return auxiliar;
}
Y ahora la clase rectangulo:

Código:
class rectangulo : public area
{
   public:
   rectangulo() {}
   rectangulo(float base, float altura) : area(base, altura) {}

   float calculo_area();

   friend ostream& operator << (ostream&, const rectangulo&);
   friend istream& operator >> (istream&, rectangulo&);

   rectangulo& operator ++ (); // Pre
};
Bueno me gustaría saber si es posible no reescribir la sobrecarga Pre y hacerla mediante cast o algo similar.

Desde ya muchas gracias. Saludos!