Advertisement
semenrbt

laba1

Nov 10th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5. // Класс комплексное число: конструктор, ввод (»), вывод («), ==, !=, модуль x, +, -, *.
  6.  
  7. class complex {
  8. private:
  9.     double REAL, IMAG;
  10. public:
  11.     complex(double real = 0, double imag = 0) {
  12.         REAL = real;
  13.         IMAG = imag;
  14.     }
  15.     void SetReal(double real) { REAL = real; }
  16.  
  17.     void SetImag(double imag) { IMAG = imag; }
  18.    
  19.     double GetReal(complex& a) {
  20.         return a.REAL;
  21.     }
  22.  
  23.     double GetIMAG(complex& a) {
  24.         return a.IMAG;
  25.     }
  26.  
  27.     double abs() {
  28.         return sqrt(REAL*REAL + IMAG*IMAG);
  29.     }
  30.  
  31.     complex operator+(complex &a) {
  32.         return complex(REAL + a.REAL, IMAG + a.IMAG);
  33.     }
  34.  
  35.     complex operator-(complex& a) {
  36.         return complex(REAL - a.REAL, IMAG - a.IMAG);
  37.     }
  38.  
  39.     complex operator*(complex& a) {
  40.         return complex(REAL*a.REAL + IMAG*a.IMAG, REAL*a.IMAG + IMAG*a.REAL);
  41.     }
  42.  
  43.     int operator==(complex& a) {
  44.         if (REAL == a.REAL && IMAG == a.IMAG) return 1;
  45.         else return 0;
  46.     }
  47.  
  48.     int operator!=(complex& a) {
  49.         if (REAL == a.REAL && IMAG == a.IMAG) return 0;
  50.         else return 1;
  51.     }
  52.  
  53.     friend ostream& operator<< (ostream& r, complex &a) {
  54.         r << "Your number is: " << a.REAL << " ";
  55.         if (a.REAL > 0) r << "+" << a.IMAG << "i" << endl;
  56.         else r << a.IMAG << "i" << endl;
  57.         return r;
  58.     }
  59.  
  60.     friend istream& operator>> (istream& r, complex& a) {
  61.         r >> a.REAL;
  62.         r >> a.IMAG;
  63.         return r;
  64.     }
  65.  
  66.    
  67. };
  68.  
  69.  
  70.  
  71.  
  72. int main()
  73. {
  74.     complex obj1(2, 2), obj2(3, 3);
  75.     complex obj3;
  76.     obj3 = obj1 - obj2;
  77.     cout << obj3 << endl;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement