Advertisement
Czapek

przeciążanie operacje na zespolonych

Nov 22nd, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5. class L_zesp
  6. {
  7. private:
  8.     int re, im;
  9. public:
  10.     L_zesp(int a=0, int b=0)
  11.     {
  12.         re=a;
  13.         im=b;
  14.     }
  15.     /*
  16.     void operator +(L_zesp &B)
  17.     {
  18.         re=re+B.re;
  19.         im=im+B.im;
  20.     }
  21.     */
  22.     L_zesp operator +(L_zesp &B)
  23.     {
  24.         L_zesp temp;
  25.         temp.re=re+B.re;
  26.         temp.im=im+B.im;
  27.         return temp;
  28.     }
  29.     L_zesp operator -(L_zesp &B)
  30.     {
  31.         L_zesp temp;
  32.         temp.re=re-B.re;
  33.         temp.im=im-B.im;
  34.         return temp;
  35.     }
  36.     L_zesp operator *(L_zesp &B)
  37.     {
  38.         L_zesp temp;
  39.         temp.re=(re*B.re) - (im*B.im);
  40.         temp.im=(re*B.im) + (im*B.re);
  41.         return temp;
  42.     }
  43.     L_zesp operator /(L_zesp &B)
  44.     {
  45.         L_zesp temp;
  46.         temp.re= ((re*B.re) + (im*B.im))/(pow(2,B.re) + pow(2, B.im));
  47.         temp.im= ((im*B.re) - (re*B.im))/(pow(2,B.re) + pow(2, B.im));
  48.         return temp;
  49.     }
  50.     void drukuj()
  51.     {
  52.         cout << "liczba ma postać re = " << re << ", im = i" << im << endl;
  53.     }
  54. };
  55. int main()
  56. {
  57.     L_zesp A(12,8), B(6,2), C;
  58.    // A.drukuj();
  59.    // B.drukuj();
  60.    // C.drukuj();
  61.     C = A + B;
  62.     C.drukuj();
  63.     C = A - B;
  64.     C.drukuj();
  65.     C = A * B;
  66.     C.drukuj();
  67.     C = A / B;
  68.     C.drukuj();
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement