Advertisement
greannmhar

Matrix.hpp

Sep 19th, 2024 (edited)
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #ifndef MATRIX_H
  2. #define MATRIX_H
  3.  
  4. #include <iostream>
  5.  
  6. class Matrix {
  7. private:
  8.     int N;
  9.     double** data;
  10.  
  11. public:
  12.     // Конструкторы
  13.     Matrix(int size);
  14.     Matrix(const Matrix& other);
  15.  
  16.     // Деструктор
  17.     ~Matrix();
  18.  
  19.     // Оператор присваивания
  20.     Matrix& operator=(const Matrix& other);
  21.  
  22.     // Доступ к элементам
  23.     double& operator()(int i, int j);
  24.     const double& operator()(int i, int j) const;
  25.  
  26.     // Арифметические операции
  27.     Matrix operator+(const Matrix& other) const;
  28.     Matrix& operator+=(const Matrix& other);
  29.     Matrix operator*(const Matrix& other) const;
  30.  
  31.     // Операции сравнения
  32.     bool operator==(const Matrix& other) const;
  33.     bool operator!=(const Matrix& other) const;
  34.  
  35.     // Транспонирование
  36.     Matrix transpose() const;
  37.  
  38.     // Ввод и вывод
  39.     friend std::istream& operator>>(std::istream& in, Matrix& matrix);
  40.     friend std::ostream& operator<<(std::ostream& out, const Matrix& matrix);
  41.  
  42.     // Вычисление определителя
  43.     double determinant() const;
  44.  
  45. private:
  46.     void allocateMemory();
  47.     void deallocateMemory();
  48.     void copyDataFrom(const Matrix& other);
  49. };
  50.  
  51. #endif // MATRIX_H
  52.  
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement