Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Complex // --------------COMPLEX------------------
- {
- public:
- double real, ima;
- Complex()
- {
- real=0.0;
- ima=0.0;
- }
- Complex(double a)
- {
- real=a;
- ima=0.0;
- }
- Complex(double a, double b)
- {
- real=a;
- ima=b;
- }
- void add(Complex a) // --------------ADD COMPLEX------------------
- {
- real = real + a.real;
- ima = ima + a.ima;
- }
- void sub(Complex a) // --------------SUBTRACT COMPLEX------------------
- {
- real = real - a.real;
- ima = ima - a.ima;
- }
- void print()
- {
- cout <<"("<< real << "," << ima<<")"<<endl;
- }
- friend Complex operator+(Complex a, Complex b); //-----------OVERLOAD OPERATORS------------
- friend Complex operator-(Complex a, Complex b);
- friend Complex operator*(Complex a, Complex b);
- };
- Complex operator+(Complex a, Complex b) //-----------OVERLOAD OPERATORS------------
- {
- return Complex(a.real+b.real, a.ima + b.ima);
- }
- Complex operator-(Complex a, Complex b)
- {
- return Complex(a.real-b.real, a.ima - b.ima);
- }
- Complex operator*(Complex a, Complex b)
- {
- return Complex(a.real*b.real-a.ima*b.ima,a.ima*b.real+a.real*b.ima);
- }
- class CRationalNum
- {
- public:
- Complex num, denum;
- CRationalNum(Complex a, Complex b)
- {
- a=num;
- b=denum;
- }
- void print()
- {
- num.print();
- cout<<"/";
- denum.print();
- }
- friend CRationalNum operator+(CRationalNum a, CRationalNum b);
- friend CRationalNum operator-(CRationalNum a, CRationalNum b);
- friend CRationalNum operator*(CRationalNum a, CRationalNum b);
- friend CRationalNum operator/(CRationalNum a, CRationalNum b);
- };
- CRationalNum operator+(CRationalNum a, CRationalNum b)
- {
- return CRationalNum(a.num * b.denum + b.num * a.denum, a.denum * b.denum);
- }
- CRationalNum operator-(CRationalNum a, CRationalNum b)
- {
- return CRationalNum(a.num * b.denum - b.num * a.denum, a.denum * b.denum);
- }
- CRationalNum operator*(CRationalNum a, CRationalNum b)
- {
- return CRationalNum(a.num*b.num,a.denum*b.denum);
- }
- CRationalNum operator/(CRationalNum a, CRationalNum b)
- {
- return CRationalNum(a.num * b.denum, a.denum * b.num);
- }
- int main()
- {
- Complex a(3,2), b(2,4), c(3,5), d(4,9);
- CRationalNum e(a,b), f(c,d), x;
- x=e+f;
- x.print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement