class SLAU
{
private:
Matrix A;
Vector f;
Vector x;
public:
//методы полученния данных из вне, например:
setMatrix(Matirx M); //присваивает матрице А (поле в класе) матрицу М
}
Помогите. Как удачнее спректировать классы?
Есть класс разреженной матрицы Matrix, он состоит в себе размерность матрицы n и одномерные массивы:
- ggl, ggu - не нулевые элементы матрицы нижнего и верхнего треугольников матрицы
- ia - массив указателей на начала строк для нижнего треугольника(столбцов - для верхнего)
- ja - массив указателей на столбцы ненулевых элементов
Также есть класс Vector, который состоит из размерности n и массива элементов.
нужно спроектировать класс SLAU, который должен выражать сущьность - система линейных уравнений: Ax=f;
как сделать правильнее? в классе SLAU включением определить данные-члены Matrix, что-то вроде
Код:
или лучше реализовать данные-члены в таком виде
Код:
class SLAU
{
private:
Matrix *A;
Vector *f;
Vector *x;
public:
//.....
};
{
private:
Matrix *A;
Vector *f;
Vector *x;
public:
//.....
};
Т.е. обходиться без set методов, а для того чтобы связать какую-нибудь матрицу с СЛАУ делать присваивание, типа
Код:
*SLAU.A = M;
Программа будет работать с матрицами большой размерности, и слау решать придёться не один раз.
Надеюсь на помощь. Если что-то неясно объяснил, скажите, постараюсь переформулировать.