|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
||||||
перегрузка операторов11.11.2011, 01:32. Показов 8423. Ответов 38
Метки нет (Все метки)
Имеется такая программа:
Добавлено через 34 минуты Кто-нибудь знает почему так?
0
|
||||||
| 11.11.2011, 01:32 | |
|
Ответы с готовыми решениями:
38
Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this Перегрузка операторов Перегрузка операторов |
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
||||||
| 11.11.2011, 23:06 [ТС] | ||||||
|
Как то размыто я понял то что вы написали) Сейчас почитаю книгу Дейтела и попробую написать)
Добавлено через 55 минут Если я вас правильно понял то получается что то типа этого:
????
0
|
||||||
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
| 11.11.2011, 23:29 | |
|
в функции перегрузки операторов вам надо передать рефернсы на объекты над которыми вы собираетесь выполнять действия.
1
|
|
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
|
| 11.11.2011, 23:31 [ТС] | |
|
Что такое референсы? покажите примерно как это делается))
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|||||||
| 11.11.2011, 23:40 | |||||||
|
Прототип выглядит так:
1
|
|||||||
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
|
| 11.11.2011, 23:46 [ТС] | |
|
мне нужно передать два вектора и + несколько int переменных, а он жалуется что:
слишком много параметров для этой функции оператора)
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 11.11.2011, 23:54 | |
|
Smillles7, одно из правил перегрузки операций - нельзя менять арность операции. Операция умножения - бинарная, поэтому операндов может быть только два: левый аргумент - текущий объект (для него не нужно параметра), и правый аргумент - это параметр перегружаемой операции.
1
|
|
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
||
| 11.11.2011, 23:55 | ||
|
Smillles7, сформулируйте четко задачу которую вы пытаетесь решить.попробую написать вам класс и функции перегрузки операторов которые вам нужны.
1
|
||
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
|
| 11.11.2011, 23:56 [ТС] | |
|
Класс перестановка на n элементном множестве.
перестановки пример: 123456..... 352614 реализовать операции: 1) перемножение перестановок т.е 1234 * 1234 = 1234 3241 * 2143 = 4132 2) нахождение обратной перестановки 3) Тождественная перестановка Мне нужно что бы в void main было примерно так: С=A*B^B; т.е мы перемножаем две перестановки и потом находим обратную к этим перемноженым перестановкам(оператор ^)
0
|
|
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
||
| 11.11.2011, 23:57 | ||
|
1
|
||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 11.11.2011, 23:59 | |
|
0
|
|
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|||||||||||||||||
| 12.11.2011, 07:10 | |||||||||||||||||
|
Не по теме: извиняюсь что долго не отвечал. задержался на занятиях. ну дело собственно не в этом На текущий момент набросал реализацию класса, перегрузку оператора умножение operator* и оператора присвоения operator=. Также сделал небольшую функция print() которая в показательных целях печатает последовательность объекта перестановки. выкладываю то что уже готово чтобы вы могли посмотреть, подумать, может какие вопросы позадавать ну и может на какие-то мысли вас наведет данный код. объявление класса Перестановка class Perestanovka файл Perestanovka.h
имплементация класса Перестановка файл Perestanovka.cpp
ну и файл откуда все запускаем main.cpp
P.S. код протестирован в среде windows. работает корректно Добавлено через 1 час 36 минут
А почему в формуле тогда написано ^B ? Что это значит? Вообще с обратной перестановкой все просто. если имеем: 3,1,4,2 то обратная перестановка будет: 2 4 1 3 для проверки умножаем перестановку на обратную и получаем единичную перестановку 1 2 3 4 Что такое Тождественная перестановка ?
1
|
|||||||||||||||||
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
|||
| 12.11.2011, 11:30 [ТС] | |||
Добавлено через 8 минут скажите зачем вы пишите в 6 строке: using std::vector; что значит at(i) в 22 строке? и что значит это в 31 строке в частности this и стрелочка: (this->mySequence.at(i))-1)) Добавлено через 59 секунд а так в принципе все остальное понятно) Огромное спасибо)
0
|
|||
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|||||||||
| 12.11.2011, 19:35 | |||||||||
this->myMethod() можно записать как (*this).MyMethod()
0
|
|||||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 12.11.2011, 19:57 | |
|
0
|
|
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
||
| 12.11.2011, 20:07 | ||
|
просто я сторался сделать код подробнее, чтобы автору было нагляднее представлять картину работы объектов.
0
|
||
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
||||||
| 12.11.2011, 23:15 [ТС] | ||||||
|
мне нужно еще чтобы если перестановки разных размеров, то я должен дописать в перестановку соответствующие элементы до совпадения размеров перестановок))
примерно так: 1 перестановка: 1423 2 перестановка: 132 то у меня вторая перестановка должна измениться на такую: 1324 насколько я понял mySequence это 1 перестановка, а right.mySequence 2 перестановка в перегрузке оператора * тогда почему я не могу сделать так:
0
|
||||||
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|||||||
| 13.11.2011, 03:41 | |||||||
1
|
|||||||
|
26 / 26 / 4
Регистрация: 23.04.2011
Сообщений: 129
|
|||||||||||
| 13.11.2011, 21:44 [ТС] | |||||||||||
|
как запустить рекурсию в операторе????
обошелся без рекурсии))) программа готова))
0
|
|||||||||||
| 13.11.2011, 21:44 | |
|
Перегрузка операторов Перегрузка операторов
перегрузка операторов Перегрузка операторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|