Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: swagger14 en 3 Abril 2012, 05:37 am



Título: problema con sobrecarga de operadores c++
Publicado por: swagger14 en 3 Abril 2012, 05:37 am
intento hacer una sobrecarga de operadores  en una clase de quebrados y estoy
hastacado!  ayudenme!!
Código:
#include <iostream>

using namespace std;

class Complejos
{
  private:
          double real;
          double img;
  public:
         Complejos(double, double);
         Complejos operator+(Complejos a);
         friend Complejos operator*(Complejos a, double ); //AMIGA porque utiliza un tipo de dato diferente de la clase en los operandos
         friend Complejos operator*(double, Complejos); //AMIGA porque utiliza un tipo de dato diferente de la clase en los operandos
         void Suma(double,double);
         void Multiplicacion(double, double);
         void VerComplejos();
         friend Complejos operator+(Complejos, int);
};
Complejos operator+(Complejos a, int b)
{
  Complejos c(a.real*b, a.img*b);
  return c;
}

Complejos::Complejos(double r, double i)
{
    real = r;
    img  = i;
}
void Complejos::Multiplicacion(double r, double i)
{
     double hold = real;
     real = (real * r) + (img * i * (-1));
     img  = -(hold * i ) + (img * r);   
}

void Complejos::Suma(double r, double i)
{
     real += r;
     img  += i;
}
void Complejos::VerComplejos()
{
     cout << "(" << real << ", " << img << "i)\n";
}
Complejos operator*(double valor, Complejos b)
{
          Complejos tmp ( b.real*valor, b.img*valor);
          return tmp;
}
Complejos Complejos::operator+(Complejos a)
{
          Complejos c( real+a.real, img+a.img);
          return c;
}
Complejos operator*(Complejos a, double valor)
{
          Complejos c( a.real*valor, a.img*valor);
          return c;
}



int main()
{
    Complejos c(5,15), d(10,10);
    Complejos ch(1,1);

    ch = ch + d;
    ch.VerComplejos();
   
    ch = ch * 2;
    ch.VerComplejos();
   
    ch = 2 * ch ;
    ch.VerComplejos();
   
    system("pause");
}



Título: Re: problema con sobrecarga de operadores c++
Publicado por: david_BS en 4 Abril 2012, 22:26 pm
si te ayuda de algo
http://codigomaldito.blogspot.com.ar/2004/11/sobrecarga-de-operadores-en-c.html