|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
operator24.01.2011, 22:20. Показов 3601. Ответов 36
Метки нет (Все метки)
Всем привет, опять непонятка в книге, дошел до оператора operator и ничего не понял, для чего он нужен, что он делает, то есть как он перегружает символы и как им пользоваться, привидите пожалуйста пример, заранее благодарен!
0
|
|
| 24.01.2011, 22:20 | |
|
Ответы с готовыми решениями:
36
Class & operator's |Error: undefined reference to operator Вызов operator[] через operator[] const
|
| 28.01.2011, 08:27 | |
|
Не по теме: taras atavin, я сказал своё мнение, что они дают. Я когда писал класс больших чисел, мне необходимо было при арифметических операциях "метаться" от одного операнда к другому (тут надо смотреть длину левого числа, тут пройтись в цикле по правому, тут опять вернуться к левому и т.д.), и если у меня нет перед глазами двух чётких операндов с двумя чёткими именами - left и right, а есть один rhs и нечёткий *this, мне было легче запутаться. Поэтому френды мне больше по душе при реализации бинарных операций.
0
|
|
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||||||||||||
| 28.01.2011, 08:36 | ||||||||||||||||
|
Что нечёткого?
Добавлено через 4 минуты Но если у тебя левый операнд имеет иной тип, то придётся френдом, а если при этом и тот тип тоже класс, то придётся объявить один оператор френдом сразу двух классов. Если же и правый операнд тоже объект какого то третьего класса, то нужен уже тройной френд.
0
|
||||||||||||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 28.01.2011, 09:03 | |
|
taras atavin, да Господи, просто мне, лично мне так не удобно. Пример для ТСа писал я, и я написал так, как удобнее лично мне. Я же никого не призываю писать так и никак иначе.
Не по теме: Зато этот спор будет полезен ТСу, он глянет и решит для себя, как ему удобнее. Я же, как и всегда, остаюсь при своём мнении, как, думаю, и вы)))
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||
| 28.01.2011, 09:31 | |||||||
|
Простой пример:
Не по теме: ForEveR, сеттеры и геттеры к инкапсуляции имеют очень слабое отношение.
1
|
|||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 28.01.2011, 09:42 | |
|
Обычные члены, ничего особенного. А что такое "свободные функции"?
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 28.01.2011, 09:44 | |
|
taras atavin, у класса Bar operator+ - не член.
CyBOSSeR, в чём причина возвращать константный объект?)) Не по теме: а ведь френдами того же самого можно было добиться)))
0
|
|
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 28.01.2011, 09:49 | |
|
Далеко не все классы могут не иметь protected и private членов, а операторам могут потребоваться любые существующие члены.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||||||||
| 28.01.2011, 10:13 | ||||||||||||||
1
|
||||||||||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||||||
| 28.01.2011, 10:24 | |||||||
|
CyBOSSeR, да, с конст тупанул, мне почему-то взбрело, что и без него всё будет прекрасно... Вы правы.
0
|
|||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 28.01.2011, 10:26 | |
|
Что "и"? Если класс имеет protected, а оператору нужен именно этот член, то попробуй ка сделать именно так.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 28.01.2011, 11:39 | ||
|
silent_1991, а... Я не правильно понял твою фразу
. Все Ок.Общее правило: если есть выбор между свободной функцией не другом и функцией членом, выбор лучше сделать в сторону свободной функции.
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 28.01.2011, 15:55 | ||||||
|
CyBOSSeR, Да про свободные я и имел ввиду. Про сеттеры/геттеры запомню, спасибо.
Про удобство доступа к френдам тут говорили... Такое везде сработает кстати? В MSVS работает корректно
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||
| 28.01.2011, 17:11 | |||
|
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 28.01.2011, 18:05 | ||
|
CyBOSSeR,
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||
| 28.01.2011, 18:49 | ||
|
Не по теме: Это я всё в защиту френдов как перегруженных операторов... Сам не знаю, чего меня в эту сторону сегодня так понесло))) Уж извините)))
0
|
||
| 29.01.2011, 02:04 | |
|
Не по теме: Да сколько можно ж*пу рвать чтобы доказать тот или иной способ решения задачи?.. пишите как удобно.. без особых затрат времени на это..
0
|
|
| 29.01.2011, 10:25 | |
|
Не по теме: ISergey, баян :D Ну в смысле, я ещё на первой странице об этом сказал)))
0
|
|
| 29.01.2011, 10:25 | |
|
Реализация operator + через operator +=
Operator +, operator += — какой через какой реализовывать? Чем "operator *=" отличается от "operator *"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|