Advertisement
Guest User

Łańcuchowe wywoływanie funkcji (wskaźnik this)

a guest
Nov 18th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. class Macierz22
  5. {
  6. public:
  7.     Macierz22();
  8.     ~Macierz22();
  9.     Macierz22& dodaj(int);
  10.     Macierz22& mnoz(int);
  11.     Macierz22& dodaj(const Macierz22&);
  12.     Macierz22& mnoz(const Macierz22&);
  13.     void wypisz();
  14.  
  15. private:
  16.     int length = 2;
  17.     float** tab;
  18.     void tabInit();
  19. };
  20.  
  21. Macierz22::Macierz22()
  22. {
  23.     tab = new float*[length];
  24.     for (size_t i = 0; i < length; i++)
  25.     {
  26.         tab[i] = new float[length];
  27.     }
  28.  
  29.     tabInit();
  30. }
  31.  
  32. Macierz22::~Macierz22()
  33. {
  34.     delete[] tab;
  35. }
  36.  
  37. void Macierz22::tabInit()
  38. {
  39.     for (size_t i = 0; i < 2; i++)
  40.     {
  41.         for (size_t j = 0; j < 2; j++)
  42.             tab[i][j] = 0;
  43.     }
  44. }
  45.  
  46. void Macierz22::wypisz()
  47. {
  48.     putchar(10);
  49.     for (size_t i = 0; i < 2; i++)
  50.     {
  51.         for (size_t j = 0; j < 2; j++)
  52.         {
  53.             std::cout << tab[i][j] << " ";
  54.         }putchar(10);
  55.     }
  56. }
  57.  
  58. Macierz22& Macierz22::dodaj(int k)
  59. {
  60.     for (size_t i = 0; i < 2; i++)
  61.     {
  62.         for (size_t j = 0; j < 2; j++)
  63.             this->tab[i][j] += k;
  64.     }
  65.     return *this;
  66. }
  67.  
  68. Macierz22& Macierz22::mnoz(int k)
  69. {
  70.     for (size_t i = 0; i < 2; i++)
  71.     {
  72.         for (size_t j = 0; j < 2; j++)
  73.             this->tab[i][j] *= k;
  74.     }
  75.     return *this;
  76. }
  77.  
  78. Macierz22& Macierz22::dodaj(const Macierz22& temp)
  79. {
  80.     for (size_t i = 0; i < 2; i++)
  81.     {
  82.         for (size_t o = 0; o < 2; o++)
  83.             this->tab[o][i] += temp.tab[o][i];
  84.     }
  85.     return *this;
  86. }
  87.  
  88. Macierz22& Macierz22::mnoz(const Macierz22& temp)
  89. {
  90.     for (size_t i = 0; i < 2; i++)
  91.     {
  92.         for (size_t o = 0; o < 2; o++)
  93.             this->tab[o][i] *= temp.tab[o][i];
  94.     }
  95.     return *this;
  96. }
  97.  
  98.  
  99. int main()
  100. {
  101.  
  102.     Macierz22 M, N, P;
  103.     M.dodaj(2).wypisz();
  104.     M.dodaj(1).dodaj(1).wypisz();
  105.     M.mnoz(2).mnoz(2).wypisz();
  106.     N.dodaj(10).wypisz();
  107.     M.mnoz(N).wypisz();
  108.     M.dodaj(-5).wypisz();
  109.  
  110.     putchar(10);
  111.     system("pause");
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement