1 / 1 / 0
Регистрация: 11.10.2021
Сообщений: 11
|
||||||
1 | ||||||
Создать класс Array13.11.2021, 14:32. Показов 896. Ответов 5
Метки нет (Все метки)
Здравствуйте. Помогите, пожалуйста, с заданием:
Создать класс Array, в котором перегрузить операторы: а) «&» для перемножения двух матриц; б) «+» для сложения двух матриц. Память под матрицы выделять динамически. Реализовать конструкторы (по умолчанию, с параметрами, копирования), деструкторы. Реализовать friend-функции для операторов ввода/вывода в поток. Реализовал все операции с матрицами, но как осуществить перегрузку операторов и как нужно здесь использовать классы? Стоит ли разбивать все на отдельные функции?
0
|
13.11.2021, 14:32 | |
Ответы с готовыми решениями:
5
Создать базовый класс - Array и производный класс - Money для работы денежной суммы Создать базовый класс Array Создать базовый класс Array Создать базовый класс Array |
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
||||||
14.11.2021, 04:16 | 2 | |||||
Тут вам без классов не обойтись.
Под термином Array обычно понимают одномерные массивы Но дальше используется термин "матрицы", под которым обычно понимаются 2+ мерные массивы. Это ошибка? Опечатка? Добавлено через 11 минут Этот код делает примерно то же самое, что и ваш, но с классами и операторами. (сработает ТОЛЬКО если ввести две квадратные матрицы одинакового размера, иначе -- эксепшон).
2
|
1 / 1 / 0
Регистрация: 11.10.2021
Сообщений: 11
|
|||||||||||||||||||||
14.11.2021, 11:11 [ТС] | 3 | ||||||||||||||||||||
Спасибо!
Да, там ошибка, должны фигурировать только матрицы
Подскажите еще пожалуйста, для чего нужен этот оператор?
0
|
2832 / 2335 / 707
Регистрация: 29.06.2020
Сообщений: 8,651
|
|||||||||||
14.11.2021, 12:44 | 4 | ||||||||||
vell1,
2
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|
14.11.2021, 13:27 | 5 |
Поподробнее с этого места. Какая ошибка? Что "фигурирует" кроме матриц?
Из этого всего вам не нужен только конструктор с генерацией значений. Остальное как раз ОЧЕНЬ нужно. Без этого работать будет с ошибками. Там конструктор копирования, деструктор, оператор присваивания... Всё это нужно, чтоб класс работал правильно. Это - оператор сложения. Он складывает две матрицы. Матрицы можно складывать только если они одного размера. Эта проверка проверяет, что складываются матрицы одного размера. Вводить вы можете любые матрицы, а вот производить над ними действия -- не любые. Если вы уберёте проверку, ошибка всё равно будет, только другая и менее понятная. Из-за математики. Умножение матриц определено только для матриц, у которых количество столбцов первой равно количеству строк второй, а сложение определено только для матриц одного размера. И оба эти действия одновременно возможны только для квадратных матриц. Добавлено через 1 минуту Уважаемый SmallEvil, уже ответил на этот вопрос. Первый оператор вам понадобится, второй -- скорее всего нет. Выложите задание целиком, как его дал преподаватель. Посмотрим, что можно сделать.
1
|
1 / 1 / 0
Регистрация: 11.10.2021
Сообщений: 11
|
|
14.11.2021, 20:37 [ТС] | 6 |
lemegeton,
1
|
14.11.2021, 20:37 | |
14.11.2021, 20:37 | |
Помогаю со студенческими работами здесь
6
Создать класс динамического массива Array Создать класс Array и перегрузить операторы Создать шаблонный класс - контейнер Array Создать шаблонный класс-контейнер Array, который представляет собой массив Создать базовый класс Array, в котором определите поле-массив подходящего типа Создать иерархию классов: абстрактный базовый класс Array и производные классы AndArray и OnArray Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |