Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
#1

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

28.11.2017, 19:21. Просмотров 282. Ответов 16
Метки нет (Все метки)

Вот такое вот задание:

Создать класс А с 4 полями, отражающие показатели объекта. Перегрузить операции.
Метод класса: Наибольший показатель.

Операторы, которые необходимо перегрузить и способ перегрузки:
"=" (Присвоение true / false)
"* =" (С числом)
"| =" (С строкой, содержащей номер)

В общем сделал пока только первые две перегрузки,но не совсем могу понять что именно требуется от третьей.
Можете подсказать хотя бы суть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2017, 19:21
Ответы с готовыми решениями:

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. ...

Перегрузка операторов
Здравствуйте! Пытаюсь понять синтаксис перегрузки операторов: Вот код: ...

Перегрузка операторов
В общем учу эту тему и ввожу код один в один как в уроке, но в уроке он...

Перегрузка операторов
написал программу. проверил. вроде все правильно. но не работает. программа...

Перегрузка операторов С++
Здравствуйте, недавно начал изучать С++, до этого старался решать проблемы...

16
jahdjkhasjdhjah
72 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
28.11.2017, 19:40 #2
Все зависит от того, для чего предназначен ваш класс. Возможно, он работает со строками и как-то должен их объединять.. Либо может преобразовывать строку с числом в обычное число и выполнить с этим числом операцию побитового ИЛИ
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
28.11.2017, 19:48  [ТС] #3
Ну у меня в классе используются четыре переменные,значение которых вводится с клавиатуры.И слово СТРОКА меня путает))
0
jahdjkhasjdhjah
72 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
28.11.2017, 19:56 #4
повторюсь
Цитата Сообщение от jahdjkhasjdhjah Посмотреть сообщение
Либо может преобразовывать строку с числом в обычное число и выполнить с этим числом операцию побитового ИЛИ
Добавлено через 47 секунд
гуглите atoi()
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 10:54  [ТС] #5
Как переделать это под нормальный true/false ? Что бы возвращало либо true/false,а не объект класса.Помогите,пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
    Prop Prop::operator>(Prop f)
 
    {
        Prop temp;
        temp.width=(width>f.width)?width:f.width;
        temp.length=(length>f.length)?length:f.length;
        temp.thickness=(thickness>f.thickness)?thickness:f.thickness;
        temp.weight=(weight>f.weight)?weight:f.weight;
    return temp;
 
    }
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
29.11.2017, 11:18 #6
Fropser, и как тут сравнивать тёплое с мягким?
По какому признаку? По теплоте или по мягкости?
что больше Prop(0, 0, 99, 99) или Prop(99, 99, 0, 0)
ась?
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 11:32  [ТС] #7
Хороший вопрос,но что я могу поделать если мне сказали такое сделать?
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
29.11.2017, 11:34 #8
Fropser, обычно, такие вещи замечают сразу, если активно участвуешь на уроке, а не приходишь в школу как овощ лишь домашнее задание переписать. Поэтому и переспрашивают обычно о таком на месте.
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 11:37  [ТС] #9
Kuzia domovenok, у вас все хорошо?Не чего что я этот код обсуждал с преподавателем?И ему все понравилось,но он мне сказал этот момент переделать.

Добавлено через 24 секунды
Kuzia domovenok, Вы сюда по агрится зашли?
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
29.11.2017, 11:41 #10
Цитата Сообщение от Fropser Посмотреть сообщение
Kuzia domovenok, у вас все хорошо?Не чего что я этот код обсуждал с преподавателем?И ему все понравилось,но он мне сказал этот момент переделать.
И вы ему вместо ответа "а как переделать?" или "я не понял, какие поля надо сравнивать?"

И вы ему вместо ответа так и солгали "ну окей, я всё понял"
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 11:46  [ТС] #11
Он этого не скажет,Боже мой.Вы не знаете человека и такие нелепые вещи говорите....
Уже миллион раз обращался за помощью,он не помагает ни сколечки.

Добавлено через 3 минуты
Я бы сюда не обратился,если б все так просто было))
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
29.11.2017, 11:49 #12
"|=" - такого оператора не существует и, следовательно, его нельзя перегрузить.

Возможно имелся ввиду один из следующих операторов: "|", "/="
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
29.11.2017, 11:54 #13
ну, раз тебе всё равно, напиши что-нибудь типа
C++
1
2
3
4
    bool Prop::operator>(Prop f)
    {
         return (width>f.width && length>f.length );
    }
QuakerRUS, ложь

Добавлено через 3 минуты
QuakerRUS,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct veee {
    int x;
    veee& operator |= (const veee& left) {
        x = left.x;
        return *this;
    }
};
int main(){
    veee a = { 1 };
    veee b;
    b |= a;
    return 0;
}
1
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
29.11.2017, 12:02 #14
Kuzia domovenok, да, действительно, у меня тоже получилось перегрузить.
0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 12:03  [ТС] #15
Kuzia domovenok, Мне как раз таки не все равно Я виноват что препод не вменяемый?
0
QuakerRUS
29.11.2017, 12:07
  #16

Не по теме:

Как же меня "радует" огромное колечество опечаток в книге Дейтелов, с этим оператором тоже вместо "|=" написан "I=", поэтому его не заметил...

0
Fropser
0 / 0 / 0
Регистрация: 29.03.2017
Сообщений: 25
29.11.2017, 20:07  [ТС] #17
Kuzia domovenok, а в мейн что вписать тогда?
0
29.11.2017, 20:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2017, 20:07

Перегрузка операторов
Столкнулся с проблемой при написании лабораторной по перегрузке операторов....

Перегрузка операторов
Почему-то выводятся нули в qDebug(): #include <QCoreApplication> #include...

Перегрузка операторов
Привет, не подскажите, почему у меня тут не работает правильно += оператор. ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru