// ConsoleApplication3.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//
#include <iostream>
using namespace std;
class Cmplx
{
public:
double re;
double im;
Cmplx()
{
re = 0;
im = 0;
}
Cmplx(double r, double i)
{
re = r;
im = i;
}
Cmplx(Cmplx& a)
{
re = a.re;
im = a.im;
}
Cmplx operator+(Cmplx& b)
{
Cmplx tmp = { re + b.re, im + b.im };
return tmp;
}
Cmplx operator-(Cmplx& b)
{
Cmplx tmp = { re - b.re, im - b.im };
return tmp;
}
Cmplx operator*(Cmplx& b)
{
Cmplx tmp = { re * b.re + im * b.im * -1, re * b.im + im * b.re };
return tmp;
}
Cmplx& operator=(Cmplx& a)
{
re = a.re;
im = a.im;
return* this;
}
};
ostream& operator<<(ostream& strm, const Cmplx& a)
{
strm << a.re << " + " << a.im << "i";
return strm;
}
int main()
{
Cmplx a(1, 2);
cout << a <<endl;
Cmplx b(3, 4);
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a << endl;
a = b;
cout << a << endl;
}