fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class complex
  6. {
  7. private:
  8. double re,im;
  9.  
  10. public:
  11. complex(double real=0,double imaginary=0) : re(real),im(imaginary){}
  12. friend ostream & operator<< (ostream & screen, const complex & liczba);
  13. friend istream & operator>> (istream & keyboard,complex & liczba);
  14. friend complex operator+ (complex & liczba1,complex & liczba2);
  15. };
  16.  
  17. ostream & operator<< (ostream & screen, const complex & liczba)
  18. {
  19. screen << liczba.re << "+" << liczba.im << "j";
  20. return screen;
  21. }
  22.  
  23. istream & operator>> (istream & keyboard,complex & liczba)
  24. {
  25. keyboard >> liczba.re;
  26. cout << "Re: " << liczba.re;
  27. keyboard.ignore();
  28. keyboard >> liczba.im;
  29. cout << " Im: " << liczba.im << endl;
  30. keyboard.ignore();
  31. return keyboard;
  32. }
  33.  
  34. complex operator+ (complex & liczba1,complex & liczba2)
  35. {
  36. complex sum;
  37. sum.re=liczba1.re+liczba2.re;
  38. sum.im=liczba1.im+liczba2.im;
  39. return sum;
  40. }
  41.  
  42. int main()
  43. {
  44. cout << "Podaj a" << endl;
  45. complex a; cin >> a;
  46. cout << "Podaj b" << endl;
  47. complex b; cin >> b;
  48. cout << a+b;
  49. return 0;
  50. }
Success #stdin #stdout 0s 3476KB
stdin
3+5i
4+6i
stdout
Podaj a
Re: 3 Im: 5
Podaj b
Re: 4 Im: 6
7+11j