Не понятно условие лабы? Тебе сюда
Артем:
Цитата: LazarusLong от Март 04, 2008, 09:44:13
Я бы попросил задание в студию. Полный текст - дословно. А то мы пока судим о задании только со слов студента. Может он сам его не правильно понял.
Дело в том, что этот выч я уже сдал, а его условие привел только в качестве примера. Но я уже убедился, что я сам не правильно его понял. В данный момент меня больше интересует следующий вопрос, он даже больше не по условию, а по реализации. Но условие напишу, чтобы был понятен мой вопрос:
Требуеться создать класс "Вектор", "Матрица", и класс "Обработчик".
При создании вектора необходимо выполнить следующие требования:
- определить конструктор для создания вектора заданного размера;
- определить метод вывода на экран;
- данные вектора должны размещаться в динамической памяти;
- обеспечить корректное освобождение памяти;
- все поля вектора должны быть закрытыми, и доступ к данным должен осуществляться только с помощью селекторов и модификаторов;
При создании матрицы необходимо выполнить требования:
-определить конструктор для создания матрицы заданной размерности;
-обеспечить корректное освобождение памяти в деструкторе;
-определить метод вывода матрицы на экран;
-ДАННЫЕ МАТРИЦЫ ДОЛЖНЫ ХРАНИТЬСЯ КАК ДИНАМИЧЕСКИЙ МАССИВ ВЕКТОРОВ С ЗАКРЫТЫМ ДОСТУПОМ, ПРИ ЭТОМ РАЗМЕРНОСТЬ МАССИВА И РАЗМЕРНОСТЬ ВЕКТОРОВ ОПРЕДЕЛЯЕТСЯ ТРЕБУЕМОЙ РАЗМЕРНОСТЬЮ МАТРИЦЫ;
- доступ к данным векторов, из кот-ых сформирована матрица, должен быть выполнен внутренней обработкой информации только с помощью селекторов и модификаторов класса "Вектор"
В классе-обработчике требуеться определить:
- конструктор, деструктор;
- поле для хранения указателя на исходную матрицу;
- метод заполнения матрицы по формуле;
- метод обработки матрицы;
- если результат - новая матрица млм вектор, то класс--обработчик должен содержать закрытое поле-указатель на матрицу-результат, и соответственно, иметь селектор доступа к ней;
LazarusLong:
Ну и что тут не понятного? Все предельно ясно и четко изложено. Хоть бери и по пунктам пиши программу. ???
Артем:
Когда нам объясняли условие этой лабы, то сделали акцент на то, что в класее "Вектор" должно быть 2 конструктора: по умолчанию и с параметром. Причем конструктор по умолчанию должен ВЫДЕЛЯТЬ ПАМЯТЬ ДЛЯ 1-МЕРНОГО ВЕКТОРА ПОД 0 ЭЛЕМЕНТОВ. А уже потом с помощью конструктора с параметром выделить память для нужного кол-ва элементов.
МОЙ ВОПРОС: если мы сразу создадим объект класса "Вектор" конструктором по умолчанию и выделим память под 0 элементов, то потом что нам нужно ПЕРЕСОЗДАВАТЬ объект с помощью конструктора с параметром, чтобы установить нужную размерность???? или как????
LazarusLong:
Фактически, каждый конструктор который ты создаешь описывает способ создания объекта. Используй каждый конструктор по необходимости. Но в любом случае это мнэ... странно создавать объект сперва конструктором по умолчанию, а затем пересоздавать его же параметризованным конструктором. Сразу создавай объект нужным конструктором.
EvilMax:
Читаю условие и в упор не вижу конструктора по умолчанию, переотведения памяти и т.п.
Цитата: artem90 от Март 04, 2008, 10:25:03
-ДАННЫЕ МАТРИЦЫ ДОЛЖНЫ ХРАНИТЬСЯ КАК ДИНАМИЧЕСКИЙ МАССИВ ВЕКТОРОВ С ЗАКРЫТЫМ ДОСТУПОМ, ПРИ ЭТОМ РАЗМЕРНОСТЬ МАССИВА И РАЗМЕРНОСТЬ ВЕКТОРОВ ОПРЕДЕЛЯЕТСЯ ТРЕБУЕМОЙ РАЗМЕРНОСТЬЮ МАТРИЦЫ;
Код: (cpp)
class Vector {
int * data;
int size;
public:
Vector(int s)
{ //Create vector of size 's' here
}
// Think by yourself what else...
};
class Matrix {
Vector ** rows;
int m, n;
public:
Matrix(int m, int n)
{//Create matrix of size m x n here
}
// Think by yourself what else...
};
Навигация