Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272

Перегрузка оператора =

07.10.2015, 20:38. Показов 1618. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим я имею две перегрузки:
Zakaz& operator=(Zakaz&);
Zakaz operator=(Zakaz);

Когда какая из них системой будет вызываться?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2015, 20:38
Ответы с готовыми решениями:

Перегрузка оператора
Всем доброго времени суток!Помогите пожалуйста! Перегрузил оператор умножения матрицы на число, но не могу перегрузить оператор умножения...

Перегрузка оператора []
При перегрузке оператора возникли проблемы, подскажыте как правильно перегрузить этот оператор, чтоб можно было устанавливать и получать...

Перегрузка оператора=
Есть класс class Point { double x; double y; public: Point(double x = 0, double y = 0) : x(x), y(y) {} double getX()...

20
 Аватар для comcor2013
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 149
07.10.2015, 21:06
artart96, Zakaz& operator=(Zakaz&); Почитай
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 21:18  [ТС]
Цитата Сообщение от comcor2013 Посмотреть сообщение
artart96, Zakaz& operator=(Zakaz&); Почитай
Читал, там нет ответа на мой вопрос.
0
 Аватар для comcor2013
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 149
07.10.2015, 21:22
artart96, у меня где-то остались лекции по С++. Там это должно быть. Перегрузку я проходил
0
16 / 14 / 12
Регистрация: 02.10.2015
Сообщений: 44
07.10.2015, 21:27
Для rvalue Zakaz operator=(Zakaz);
Для lvalue переменных - неопределённость. Не скомпилируется.
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 21:39  [ТС]
Цитата Сообщение от comcor2013 Посмотреть сообщение
artart96, у меня где-то остались лекции по С++. Там это должно быть. Перегрузку я проходил
Лекции хорошо,перегрузку я тоже проходил,но здесь больше вопрос просто про систему.

Добавлено через 10 минут
Цитата Сообщение от Foxtam Посмотреть сообщение
Не скомпилируется.
Скомпилируется без вопросов.

Добавлено через 1 минуту
Цитата Сообщение от artart96 Посмотреть сообщение
Не скомпилируется.
http://www.c-cpp.ru/books/peregruzka-operatorov-0
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
07.10.2015, 22:44
Цитата Сообщение от artart96 Посмотреть сообщение
Когда какая из них системой будет вызываться?
никакая.

Цитата Сообщение от artart96 Посмотреть сообщение
Скомпилируется без вопросов.
http://rextester.com/IPVR37852
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 22:54  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
Сообщение от artart96
Когда какая из них системой будет вызываться?
никакая.
Сообщение от artart96
Скомпилируется без вопросов.
http://rextester.com/IPVR37852
Что значит никакая???У меня компилируется.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
07.10.2015, 22:57
Цитата Сообщение от artart96 Посмотреть сообщение
Что значит никакая???
компилятор не телепат.
он откажется компилировать с ошибкой "не однозначность".

я специально привел вам ссылку на онлайн компилятор,
что бы на практике проиллюстрировать этот момент.

Цитата Сообщение от artart96 Посмотреть сообщение
У меня компилируется.
остановок "здеся" и "тута" не существует.
существует конкретный код,
и конкретные компиляторы.
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 23:11  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
компилятор не телепат.
он откажется компилировать с ошибкой "не однозначность".
Не могу понять в чем проблема???Что вы мне хотите донести???Давайте конкретно на коде.

Добавлено через 5 минут
Цитата Сообщение от hoggy Посмотреть сообщение
с ошибкой "не однозначность"
Под неоднозначностью вы подразумеваете две перегрузки равно,это онлайн не скомпилирует, а в Visual скомпилирует и все будет работать.Вот в этом и стоит мой вопрос как он определяет какую перегрузку взять?

Добавлено через 3 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
остановок "здеся" и "тута" не существует.
существует конкретный код,
и конкретные компиляторы.
Существует, но если взять новую версию и написать в ней код, а потом закинуть в старую то будет куча ошибок, как пример перегрузка префиксной и постфиксной формы ++ в ранних и более древних компиляторах.Ответ ваш ни туда.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
07.10.2015, 23:12
Цитата Сообщение от artart96 Посмотреть сообщение
Давайте конкретно на коде.
Цитата Сообщение от hoggy Посмотреть сообщение
я специально привел вам ссылку на онлайн компилятор,
что бы на практике проиллюстрировать этот момент.
Цитата Сообщение от hoggy Посмотреть сообщение
http://rextester.com/IPVR37852


Добавлено через 22 секунды
Цитата Сообщение от artart96 Посмотреть сообщение
Существует, но если взять новую версию и написать в ней код, а потом закинуть в старую то будет куча ошибок, как пример перегрузка префиксной и постфиксной формы ++ в ранних и более древних компиляторах.Ответ ваш ни туда.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
07.10.2015, 23:15
.
C++
1
2
3
4
5
..
    zakaz z;
    zakaz z2=z;
    zakaz z3;
//  z3=z; // здесь компилятор VS2010 ругается на неоднозначность
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 23:19  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
Сообщение от hoggy
я специально привел вам ссылку на онлайн компилятор,
что бы на практике проиллюстрировать этот момент.
Что вы мне проиллюстрировали?тип компилятора на сайте???У меня компилирует, значит никакой неоднозначности нет.Потому что компиляторы разные.Ваш ответ просто о типах компиляторах?Так меня они не интересуют.

Добавлено через 1 минуту
Цитата Сообщение от zer0mail Посмотреть сообщение
1
2
3
4
5
..
* * zakaz z;
* * zakaz z2=z;
* * zakaz z3;
//* z3=z; // здесь компилятор VS2010 ругается на неоднозначность
А в 2012 не ругается, и что из этого?

Добавлено через 1 минуту
Цитата Сообщение от zer0mail Посмотреть сообщение
здесь компилятор VS2010 ругается на неоднозначность
Пускай себе ругается, мало ли на что он может ругаться, все от него самого зависит.Вопрос же как он выбирает, когда какую использовать????
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
07.10.2015, 23:25
Цитата Сообщение от artart96 Посмотреть сообщение
Вопрос же как он выбирает, когда какую использовать????
Если он ругается - он никак не выбирает, ибо просто не компилирует
А что, VS2012 компилирует с раскоментированной строкой?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
07.10.2015, 23:29
Цитата Сообщение от zer0mail Посмотреть сообщение
А что, VS2012 компилирует с раскоментированной строкой?
нет, не компилирует.
0
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
07.10.2015, 23:31  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
нет, не компилирует.
Что не компилирует?Двойную перегрузку = ?У меня наверно спец версия 2012 стоит
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
07.10.2015, 23:40
artart96, с раскоментированной строкой компилирует?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
08.10.2015, 14:50
Цитата Сообщение от artart96 Посмотреть сообщение
Что значит никакая???У меня компилируется.
Значит что по стандарту компилироваться не должно, но Студия традиционно клала на стандарт большой и толстый. Так что там возможны любые чудеса, вплоть до включения кофеварки в процессе компиляции.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
08.10.2015, 16:18
Цитата Сообщение от Renji Посмотреть сообщение
Студия традиционно клала на стандарт большой и толстый
Увы, VS2012 у мне нет, но есть подозрение, что дело не в ней Просто я hoggy верю больше, чем artart96
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
08.10.2015, 17:02
люди, а че спорить-то?) на этом же сайте можно откомпилить под 13ую студию: http://rextester.com/WKWM28321 .
Под 10ку не компилится, под 13 не компилится, ну а 12ая безусловно компилит.
Автор, проверьте, не стоит ли там у вас где-нибудь
C++
1
#define true (rand() % 100 < 95)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2015, 17:02
Помогаю со студенческими работами здесь

Перегрузка оператора <<
Пишу класс My_String #include &lt;iostream&gt; const int MAX = 1000; class My_String { private: char str; public:

Перегрузка оператора ==
Я уже встречала подобный вопрос на этом форуме, но у меня всё равно что-то не получается Вот виртуальная ф-ция, которую я вызываю в...

Перегрузка оператора
Имеется время, например 12:12:12 Перегрузка инкремента Time &amp;Time::operator ++ () { Next(); return *this; } ...

Перегрузка оператора ++
Написал префиксную перегрузку ++ Vremya &amp;Vremya::operator ++ () { int sec = getSec(*this); //перевод в секунды ...

Перегрузка оператора []
Сделал простой аналог auto_ptr для дин. массива. Файл #ifndef ARRAY_PTR_GUARD #define ARRAY_PTR_GUARD template&lt; class Ty_...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru