|
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
|
||||||||||||
Перегрузить операторы operator+() и operator*() в пользовательском классе "Комплексное число"20.01.2016, 00:30. Показов 2504. Ответов 25
Метки нет (Все метки)
Здравствуйте. Предлагаю заняться арифметикой.
Создал прослейший класс, перегрузил операторы сложения и умножения, в конструкторе произвожу вычисления. Строка 12 и 14 работают, а строка 13 выдает ошибку:
0
|
||||||||||||
| 20.01.2016, 00:30 | |
|
Ответы с готовыми решениями:
25
Перегрузка оператора operator+() в пользовательском классе (сложение строк)
|
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
||||||
| 20.01.2016, 00:40 | ||||||
Сообщение было отмечено Anvis как решение
Решение
1
|
||||||
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
||||||
| 20.01.2016, 00:42 | ||||||
|
а можно весь код? я допустим слабо понимаю что происходит, когда мы создаем
0
|
||||||
|
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
|
|||||||||||
| 20.01.2016, 00:48 [ТС] | |||||||||||
|
Lawliet1, конечно не должно. У меня случайно нажался энтер при создании темы, пришлось быстро-быстро ее редактировать, потом попытки отредактировать истекли... Вот исправленный вариант:
0
|
|||||||||||
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
|||||||||||
| 20.01.2016, 00:54 | |||||||||||
|
Lawliet1,
z1 получается автоматическая переменная, которая прям там и умирает, как бэ должо быть так
Anvis,
0
|
|||||||||||
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
||||||
| 20.01.2016, 00:57 | ||||||
Добавлено через 2 минуты anti-k, во-во бесконечная рекурсия
0
|
||||||
|
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
|
||||||
| 20.01.2016, 01:16 [ТС] | ||||||
|
Да, правильно. Конечно, в "боевой" программе в конструкторе класса нет ничего кроме инициализации полей, а все операции производятся в другом. Спешил, когда правил тему
![]() Исправил определения методов на код ниже, все операции стали выполняться как положено. anti-k, спасибо, проблема решена, а мне надо доучить использование указателей.
0
|
||||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||||||
| 20.01.2016, 14:57 | |||||||
Сообщение было отмечено Anvis как решение
РешениеЛучше так:
2
|
|||||||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 20.01.2016, 15:10 | |
|
1
|
|
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
|
| 20.01.2016, 15:18 | |
|
rikimaru2013,
Деструктор ситуацию не исправит?
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 20.01.2016, 15:22 | ||
|
2
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||
| 20.01.2016, 15:45 | |||
|
При выходе ссылки из области видимости деструктор вообще не вызывается.
1
|
|||
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
||
| 20.01.2016, 15:57 | ||
|
avgoor, не пинайте сильно, я новичок.
0
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||||||
| 20.01.2016, 16:08 | |||||||
1) Создастся временный объект, вызовется конструктор копирования для с, вызовется деструктор для временного объекта. 2) Создастся временный объект, вызовется перемещающий конструктор для с. 3) Применится RVO: Вызовется конструктор (double, double) для c. Скорее всего 3).
1
|
|||||||
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
|
| 20.01.2016, 16:11 | |
|
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 20.01.2016, 16:15 | ||
|
0
|
||
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
|
| 20.01.2016, 16:19 | |
|
avgoor, Я так понимаю что вроде как временный объект получает имя с и сам становится с?
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||||||||||
| 20.01.2016, 16:26 | |||||||||||
|
Нет, временный объект вообще не создается. Т.е. Вот это:
1
|
|||||||||||
|
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
|
|
| 20.01.2016, 16:30 | |
|
avgoor, Спасибо!!!
0
|
|
|
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
|
||||||||||||
| 20.01.2016, 19:09 [ТС] | ||||||||||||
|
Подведу итог.
complex.h Кликните здесь для просмотра всего текста
complex.cpp Кликните здесь для просмотра всего текста
Почему перегружать вне класса понял и автоматически получил ответ на другой вопрос. Спасибо.
0
|
||||||||||||
| 20.01.2016, 19:09 | |
|
Помогаю со студенческими работами здесь
20
Перегрузить operator* Не могу нормально перегрузить operator < Перегрузить operator* для комплексных чисел Перегрузка операторов operator> и operator* для чисел в разных системах счисления Почему в данном случае используется operator int, а не operator double? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|