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");
}