|
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
|
||||||||||||||||
Перегрузка оператора <<19.07.2019, 00:32. Показов 2655. Ответов 22
Метки нет (Все метки)
В чем проблема?
0
|
||||||||||||||||
| 19.07.2019, 00:32 | |
|
Ответы с готовыми решениями:
22
Перегрузка оператора == Перегрузка оператора ^ Перегрузка оператора + |
|
Комп_Оратор)
|
||||||||
| 22.07.2019, 01:32 | ||||||||
|
Остаётся понять, зачем вы наобъявляли сеттеров и не бросили им по косточке. Смотрите, вы обращаетесь к приватным полям напрямую:
0
|
||||||||
|
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
|
|
| 22.07.2019, 01:41 [ТС] | |
|
IGPIGP, Хорошо
Если использовать friend,то можно обойтись без Setеров,так как мы напрямую обращаемся к полям,в ином случае Setеры необходимы
0
|
|
|
Комп_Оратор)
|
|||||||
| 22.07.2019, 10:18 | |||||||
|
Это происходит при написании операторов в которых объект является операндом объекта другого класса, например. cout - объект такого класса и у него как у потока есть операторы << >>. Это его операторы. Но в программировании многое стоит на голове и чувствует себя отлично. Поэтому принято говорить что мы перегружаем оператор сдвига для пользовательского класса. А пользовательский класс (объект вернее) - всего лишь параметр перегрузки. Маленькая проблема в том, что допустив конфронтацию со здравым смыслом единожды, порождается лавина проблем. В данном случае, наш объект как и положено параметру, расположен справа от оператора (слева - объект потока - полноправный хозяин оператора если бы он был членом класса). Поэтому приходится делать оператор свободной функцией. И ей приходится делегировать право доступа. Иногда требуется скрыть конструкторы, чтобы не допустить создание объекта класса в свободном режиме. Тогда, пишут функцию которая использует скрытый конструктор для создания экземпляра и создаёт и возвращает его. Тут решается парадокс Рассела - Бога в постановке: Бог может создать всё и он создал всё. Бог не может создать себя. То есть, конструктор - метод объекта. Он не запускается на объекте как обычный метод (объекта ещё нет), но он запускается от имени будущего объекта. Создать объект без конструктора нельзя. Но если его закрыть, то получить доступ через акзессор не выйдет. Объекта ведь нет ещё и нельзя запустить ни один его метод, поэтому. Обращаемся к помощи друга - свободной или статической функции. У неё есть доступ к конструкторам и др. приватным членам. Хочется сказать, - "Не торопитесь с выводами, всё сложнее чем кажется". Но мы же понимаем, что для понимания нужно думать и спрашивать. Поэтому, скажу - "Торопитесь с выводами", мы тут чтобы помочь) А акзессоры - поддержка инкапсуляции. В общем случае, нельзя от них отказываться. Добавлено через 18 минут Для успешной перегрузки без friend нужно не забыть, ещё квалификаторы соблюсти:
0
|
|||||||
| 22.07.2019, 10:18 | |
|
Перегрузка оператора + Перегрузка оператора + Перегрузка оператора Перегрузка оператора > Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №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, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|