|
2 / 2 / 0
Регистрация: 24.11.2016
Сообщений: 77
|
||||||
Прошу объяснить первую строку31.12.2016, 01:20. Показов 525. Ответов 4
Метки нет (Все метки)
Здравствуйте, я прохожу на данный момент перегрузку операторов, в общем по теоретическому материалу я сейчас перегружаю оператор + в классе, чтобы он мог складывать значения одногго объекта с другим. Вот здесь полный код программы
Кликните здесь для просмотра всего текста
Хотел уточнить что делает данный код, мои вопросы будут в виде комментариев
0
|
||||||
| 31.12.2016, 01:20 | |
|
Ответы с готовыми решениями:
4
Прошу объяснить о ссылках,указателях,стрелке -> и двоеточиях :: очень прошу я не понял синтаксис Прошу объяснить код С++ Прошу объяснить ввод символов |
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 31.12.2016, 05:33 | |||
|
2
|
|||
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
||||||||||||||||||||||||||
| 31.12.2016, 06:03 | ||||||||||||||||||||||||||
|
FishZone, давайте разберемся
1.То что возвращаем 2.Область видимости 3.Спец синтаксис перегрузки 1.По поводу того что возвращаем, мы возвращаем копию объекта класса, но не копию нашего объекта, а уже копию того что мы создадим в операторе и сложим его с другим т.е. a + b здесь к (а) прибавится (b) и это по сути будет что то типа
a + b + c + d etc. и во вторых после сложения вы хотите использовать присваивание как обычно т.е. a = a + b но для чего же это делается например можно сделать вот так :
a + b + c и получается синтаксический сахар потому что a + b уже поменяет объект a при такой реализации данного оператора и использование a = бесполезно 2.Касательно второго пункта, это мы уточняем область видимости, что бы сказать что мы перегружаем оператор + именно в этом классе, советую еще посмотреть вам синтаксис "глобальной перегрузки" определение кривоватое, но думаю меня поправят форумчане подкованные в терминологии. 3.Вот тут просто то что стоит запоминать, для разных операторов данный синтаксис может быть разным, в зависимости бинарный ли это или унарный оператор, а также пару исключений, но везде вы увидете конструкцию operator(вот тут сам оператор +,-,*,\ и т.д.)(список аргументов, может быть, а может не быть) касательно списка аргументов всегда есть у бинарных перегрузок, и обычно пуст для унарных бинарные перегрузки это +, -, *, \, ==, и все краткие формы записи += и т.д. унарные +, - (это унарный + и - не путать со сложением и вычитанием) потом ++, -- и т.д. вот вам пример таких перегрузок
Добавлено через 2 минуты Если что, рекомендую почитать вот эту статейку на хабре Добавлено через 4 минуты Не по теме: Renji, долговато писал свой пост не видел что ответили :)
1
|
||||||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 24.11.2016
Сообщений: 77
|
||
| 02.01.2017, 18:45 [ТС] | ||
|
Ого, ничего себе вы понаписали) Спасибо большое!) Вроде разобрался.
Добавлено через 1 час 16 минут То есть будет создаваться временный объект, который мы позже можем уничтожить деструктором?
0
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 02.01.2017, 21:11 | |||
|
1
|
|||
| 02.01.2017, 21:11 | |
|
Помогаю со студенческими работами здесь
5
непонятная для меня ошибка прошу объяснить знающих людей Матрицы: поменять местами первую строку и строку, содержащую максимальный элемент
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|