Matrix
, необходимый для работы с матрицами, в виде отдельной библиотеки, которую можно будет использовать в разных программах.
Для этого создадим каталог, в котором будет находится библиотека:
$ mkdir include/Matrix
Переходим в созданный каталог:
$ cd include/Matrix
Сама библиотека будет представлять собой два файла: заголовок класса (файл Matrix.h
) и файл реализации класса (файл Matrix.cpp
).
$ vim Matrix.h
$ vim Matrix.cpp
Примечание: при создании конструкторов и деструкторов объектов необходимо помнить, что двумерные массивы в языках C/C++ рассматриваются как массивы массивов (или массивы указателей), поэтому операторы new
и delete
должны иметь формы:
x = new double*[rows];
x[0] = new double[rows * cols];
и
delete [] x[0];
delete [] x;
соответственно.
Matrix
программу eqsys.cpp
, определяющую корни системы линейных уравнений матричным методом.
Компиляция программы возможна с помощью команды:
$ g++ eqsys.cpp include/Matrix/Matrix.cpp -I include/Matrix/ -lm -o eqsys