#ifndef COMPLEX_H
#define COMPLEX_H

class Complex {
public:
	Complex();

	Complex(double re, double im = 0.0);

	double re();
	double im();

	void set_real(double re);
	void set_imaginary(double im);

	Complex add_them(Complex &y);

	Complex operator*(Complex &y);


private:
	double real, imaginary;
};

Complex operator+(Complex &x, Complex &y);
Complex operator-(Complex &x, Complex &y);

std::ostream &operator<<(std::ostream &os, Complex &x);
std::istream &operator>>(std::istream &is, Complex &x);

#endif
