CosmicFox33

4.15

Mar 13th, 2022
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. /*Разработать класс «комплексное число», конструктор(ы) для
  2. инициализации, перегруженные операторы << и >> потокового ввода/вывода,
  3. перегруженную операцию * умножения двух комплексных чисел как метода
  4. (функцию-член класса), перегруженную операцию ~ получения комплексно-
  5. сопряженного числа как метода (функцию-друг класса). В функции main
  6. организовать тестирование всех возможностей разработанного класса.*/
  7. #include <iostream>
  8.  
  9. using namespace std;
  10.  
  11. class Complex
  12. {
  13. private:
  14.     float re, im;
  15. public:
  16.     Complex(float Re, float Im) { re = Re, im = Im; }
  17.     Complex() { re = 0., im = 0.; }
  18.     friend istream& operator >> (istream& s, Complex& C);
  19.     friend ostream& operator << (ostream& s, Complex C);
  20.  
  21.     Complex operator + (Complex A) { Complex B; B.re = re + A.re; B.im = im + A.re; return B; }
  22.     friend Complex operator~ (Complex A) { A.im = -A.im; return A; }
  23.  
  24.  
  25. };
  26.  
  27. istream& operator >> (istream& s, Complex& C) { return s >> C.re >> C.im; }
  28. ostream& operator << (ostream& s, Complex C) { return s << "(" << C.re << "," << C.im << "i" << ")" << endl; }
  29. int main()
  30. {
  31.     Complex A(1, 1), B, C, D;
  32.     cout << A;
  33.     cin >> B;
  34.     cout << B;
  35.     C = A + B;
  36.     D = ~B;
  37.     cout << C << D;
  38.     cout << (~A);
  39.     cout << A;
  40.     return 0;
  41. }
Add Comment
Please, Sign In to add comment