Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef MATRIX_H
- #define MATRIX_H
- #include <iostream>
- class Matrix {
- private:
- int N;
- double** data;
- public:
- // Конструкторы
- Matrix(int size);
- Matrix(const Matrix& other);
- // Деструктор
- ~Matrix();
- // Оператор присваивания
- Matrix& operator=(const Matrix& other);
- // Доступ к элементам
- double& operator()(int i, int j);
- const double& operator()(int i, int j) const;
- // Арифметические операции
- Matrix operator+(const Matrix& other) const;
- Matrix& operator+=(const Matrix& other);
- Matrix operator*(const Matrix& other) const;
- // Операции сравнения
- bool operator==(const Matrix& other) const;
- bool operator!=(const Matrix& other) const;
- // Транспонирование
- Matrix transpose() const;
- // Ввод и вывод
- friend std::istream& operator>>(std::istream& in, Matrix& matrix);
- friend std::ostream& operator<<(std::ostream& out, const Matrix& matrix);
- // Вычисление определителя
- double determinant() const;
- private:
- void allocateMemory();
- void deallocateMemory();
- void copyDataFrom(const Matrix& other);
- };
- #endif // MATRIX_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement