Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите. Как удачнее спректировать классы?

25K
19 ноября 2008 года
All1gator
1 / / 20.02.2007
Здравствуйте, такое вот дело. Вопрос скорее всего из области применения теории ООП на практике (С++)
Есть класс разреженной матрицы Matrix, он состоит в себе размерность матрицы n и одномерные массивы:
- ggl, ggu - не нулевые элементы матрицы нижнего и верхнего треугольников матрицы
- ia - массив указателей на начала строк для нижнего треугольника(столбцов - для верхнего)
- ja - массив указателей на столбцы ненулевых элементов

Также есть класс Vector, который состоит из размерности n и массива элементов.

нужно спроектировать класс SLAU, который должен выражать сущьность - система линейных уравнений: Ax=f;
как сделать правильнее? в классе SLAU включением определить данные-члены Matrix, что-то вроде
 
Код:
class SLAU
{
private:
Matrix A;
Vector f;
Vector x;
public:
//методы полученния данных из вне, например:
setMatrix(Matirx M); //присваивает матрице А (поле в класе) матрицу М
}

или лучше реализовать данные-члены в таком виде
 
Код:
class SLAU
{
private:
Matrix *A;
Vector *f;
Vector *x;
public:
//.....
};

Т.е. обходиться без set методов, а для того чтобы связать какую-нибудь матрицу с СЛАУ делать присваивание, типа
 
Код:
*SLAU.A = M;


Программа будет работать с матрицами большой размерности, и слау решать придёться не один раз.
Надеюсь на помощь. Если что-то неясно объяснил, скажите, постараюсь переформулировать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог