|
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 12
|
||||||
Перегрузка оператора присваивания23.12.2020, 15:34. Показов 1958. Ответов 17
Всех приветствую, по заданию необходимо разработать шаблон структуры данных, сама структура представляет собой циклический двусвязный список, вот только всё, что я могу сделать со списком, это добавить элемент, а при попытке использовать другие методы (например, поиск элемента) выходит ошибка про отсутствие оператора присваивания.
Поэтому прошу помочь создать перегрузку оператора, заранее спасибо.
0
|
||||||
| 23.12.2020, 15:34 | |
|
Ответы с готовыми решениями:
17
Перегрузка оператора присваивания Перегрузка оператора присваивания Перегрузка оператора присваивания |
|
"C with Classes"
|
||
| 23.12.2020, 15:39 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 12
|
||||||
| 23.12.2020, 15:42 [ТС] | ||||||
0
|
||||||
|
"C with Classes"
|
||||||
| 23.12.2020, 15:45 | ||||||
|
3aDr1K,
0
|
||||||
|
Комп_Оратор)
|
||
| 23.12.2020, 16:11 | ||
|
0
|
||
|
"C with Classes"
|
|||||||
| 23.12.2020, 16:14 | |||||||
|
В каждой функции следует собрать весь код, который может генерировать исключения, и выполнить его отдельно, безопасным с точки зрения исключений способом. Только после этого, когда вы будете знать, что вся реальная работа успешно выполнена, вы можете из- менять состояние программы (а также выполнять другие необходимые действия, например, освобождение ресурсов) посредством операций, которые не генерируют исключений. 3aDr1K, еще так можно:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 12
|
|
| 23.12.2020, 17:06 [ТС] | |
|
Работает то работает, а при вызове метода, к примеру, remove(), всё равно не компилируется
![]() Добавлено через 9 минут Вернее, если в main() не вызывать методы, кроме add(), то программа запустится и приравнивание работает, но если попытаться вызвать, то не скомпилируется Добавлено через 32 минуты Всё заработало, проблема оказалась даже не операторе присваивания, а в названии поля
0
|
|
|
Комп_Оратор)
|
||
| 23.12.2020, 18:36 | ||
|
0
|
||
|
"C with Classes"
|
|
| 23.12.2020, 18:43 | |
|
0
|
|
|
"C with Classes"
|
||||||
| 23.12.2020, 19:14 | ||||||
1
|
||||||
|
Комп_Оратор)
|
||
| 23.12.2020, 19:51 | ||
|
_stanislav, дело даже не в том, что вы требуете от класса Class реализации члена Swap, хотя для отказа от std::swap нужны серьёзные основания. Я вижу проблему в том, что своп используется для реализации оператора = а не наоборот. Кроме того, приходится применять разные операции для разных полей без видимых оснований.
Добавлено через 4 минуты const T &iно лучше -наоборот - const T &data тогда меньше движений курсором и глаз не так режет) тут и присваивание не виновато, похоже)
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||
| 23.12.2020, 20:16 | ||||
|
if (pv->data == i) ?
1
|
||||
|
Комп_Оратор)
|
||||||||||||
| 23.12.2020, 22:19 | ||||||||||||
0
|
||||||||||||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||||
| 23.12.2020, 22:36 | ||||
|
Добавлено через 5 минут Добавлено через 2 минуты Естественно идиома не применима, если у нас нет возможности организовать swap, который не бросает исключений. Никто, в первую очередь Саттер, не заявлял о серебряной пуле. Так что спорить тут не о чем. Нужно смотреть на границы применимости.
1
|
||||
|
Комп_Оратор)
|
|
| 23.12.2020, 22:55 | |
|
DrOffset, да, - вижу что был неправ. Спасибо)
_stanislav, пришёл DrOffset и победил меня. Я перепутал, извините. Конструктор копии принимающий по значению, это я сказанул. Сама передача значения - копирование. А по ссылке свопить аргумент уже нельзя. То есть ваш код вполне нормален. Простите.
2
|
|
| 23.12.2020, 22:55 | |
|
Помогаю со студенческими работами здесь
18
Перегрузка оператора присваивания Перегрузка оператора присваивания
Перегрузка оператора присваивания Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|