#include <iostream>

using namespace std;

class Complex {
  private:
    double x, y;

  public:
    Complex(double Re = 0, double Im = 0) : x(Re), y(Im) {}

    double real() { return x; }
    double imag() { return y; }

    friend Complex conj(Complex z) {
      z.y = -z.y;

      return z;
    }
};

int main() {
  Complex z0, z1{4.0}, z2{1.0, 2.0}, z3 = conj(z2);

  double x4, y4;
  cout << "Re z4, Im z4: ";
  cin >> x4 >> y4;
  Complex z4{x4, y4};

  cout << "Re z0 = " << z0.real() << " Im z0 = " << z0.imag() << endl;
  cout << "Re z1 = " << z1.real() << " Im z1 = " << z1.imag() << endl;
  cout << "Re z2 = " << z2.real() << " Im z2 = " << z2.imag() << endl;
  cout << "Re z3 = " << z3.real() << " Im z3 = " << z3.imag() << endl;
  cout << "Re z4 = " << z4.real() << " Im z4 = " << z4.imag() << endl;

  return 0;
}
