HICONT

Matrix

Oct 20th, 2022
1,016
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #pragma once
  2.  
  3. class Matrix3
  4. {
  5. private:
  6.     int** mem;
  7.     int size;
  8. public:
  9.     Matrix3(int _size = 0)
  10.     {
  11.         size = _size;
  12.         mem = new int* [size];
  13.         for (int i = 0; i < size; i++)
  14.         {
  15.             mem[i] = new int[size];
  16.             for (int j = 0; j < size; j++)
  17.             {
  18.                 mem[i][j] = 0;
  19.             }
  20.         }
  21.     }
  22.     ~Matrix3()
  23.     {
  24.         for (int i = 0; i < size; i++)
  25.         {
  26.             delete[]mem[i];
  27.         }
  28.         delete[]mem;
  29.     }
  30.     Matrix3(const Matrix3& tmp)
  31.     {
  32.         size = tmp.size;
  33.         mem = new int* [size];
  34.         for (int i = 0; i < size; i++)
  35.         {
  36.             mem[i] = tmp.mem[size];
  37.             for (int j = 0; j < size; j++)
  38.             {
  39.                 mem[i][j] = tmp.mem[i][j];
  40.             }
  41.         }
  42.     }
  43.     Matrix3& operator=(Matrix3 tmp)
  44.     {
  45.         if (size != tmp.size)
  46.         {
  47.             if (size != 0)
  48.             {
  49.                 for (int i = 0; i < size; i++)
  50.                 {
  51.                     delete[]mem[i];
  52.                 }
  53.                 delete[]mem;
  54.             }
  55.             size = tmp.size;
  56.             mem = new int* [size];
  57.         }
  58.         for (int i = 0; i < size; i++)
  59.         {
  60.             mem[i] = new int[size];
  61.             for (int j = 0; j < size; j++)
  62.             {
  63.                 mem[i][j] = tmp.mem[i][j];
  64.             }
  65.         }
  66.         return *this;
  67.     }
  68. };
Advertisement
Add Comment
Please, Sign In to add comment