//-------------------------------------------------------------------------
// Programa: Clase complejo
//
//
// complejos de una forma sencilla
//
// Puede utilizarse para ser llamada con expresiones como
// c = a(5,6) OPR b(7,2)
// en donde a,b,c deben ser declarados como complejo
// complejo a, b, c;
// y OPR puede ser: (+), (-), (*), (/).
//
//
// complejo a(5,5),b(10,20),c;
// cout << "La suma \n"; c=a+b; c.imprime();
// cout << "La resta\n"; c=a-b; c.imprime();
// cout << "El producto\n"; c=a*b; c.imprime();
// cout << "La division\n"; c=a/b; c.imprime();
//
//-------------------------------------------------------------------------
#include <iostream.h>
class complejo {
float r,i;
public:
complejo (float x=0,float y=0) { r=x;i=y; }
complejo operator +(complejo x);
complejo operator -(complejo x);
complejo operator *(complejo x);
complejo operator /(complejo x);
void imprime ();
};
complejo complejo:: operator + (complejo x) {
return complejo(r+x.r,i+x.i);
}
complejo complejo:: operator - (complejo x) {
return complejo(r-x.r,i-x.i);
}
complejo complejo:: operator * (complejo x) {
return complejo(r*x.r - i*x.i, r*x.i+i*x.r);
}
complejo complejo:: operator / (complejo x) {
float t=x.r*x.r+x.i*x.i;
return complejo((r*x.r+i*x.i)/t,(i*x.r - r*x.i)/t);
}
void complejo::imprime() {
cout << "Parte real " << r << "\nparte imaginaria ";
cout << i << "\n" ;
}
void main () {
complejo a(5,5),b(10,20),c;
cout << "La suma \n";
c=a+b;
c.imprime();
cout << "La resta\n";
c=a-b;
c.imprime();
cout << "El producto\n";
c=a*b;
c.imprime();
cout << "La division\n";
c=a/b;
c.imprime();
}