UmeshBhosale Ответов: 2

Как решить эту проблему с перегрузкой операторов в C++


Выражение: a1+a2*a3/a4

В то время как a1,a2,a3,a4 являются объектами

Что я уже пробовал:

Я написал различные операторные функции для отдельных операторов, например одну функцию для оператора + и другую для оператора*... Но это не работа...

Richard Deeming

Вы не описали проблему, не показали нам, что вы пробовали, и не дали нам никаких подробностей об ошибках, которые вы получаете.

Нажмите на зеленую ссылку "улучшить вопрос". Обновите свой вопрос с полным описанием проблемы, которую вы пытаетесь решить, соответствующих частей кода, которые вы пробовали, и полной информацией о любых ошибках. Не забудьте указать, к какой строке кода относятся ошибки.

Rick York

Вы также реализовали оператор/? Там у вас есть операции+, * и/. Вы также можете добавить оператор -, как двоичный, так и унарный.

KarstenK

Внимательно прочитайте языковую документацию. Операторы должны быть открытыми функциями-членами со ссылочным синтаксисом.

Удачи вам! Это работает ;-)

PS: Если нет, то покажите нам код.

2 Ответов

Рейтинг:
2

CPallini

Вы забыли указать природу объектов.
В любом случае взгляните на эту страницу перегрузка оператора - cppreference.com[^], см. бинарные арифметические операторы Раздел для примера кода.


Рейтинг:
0

Patrice T

Цитата:
Я написал различные операторные функции для отдельных операторов, например одну функцию для оператора + и другую для оператора*... Но это не работа...

Даже при самой доброй воле ответ будет: "вы сделали это неправильно".
Вы не дали абсолютно ничего для работы. Вы даже не сказали, как это "не работает", является ли это неправильным результатом или компиляция не удалась ?

Чтобы получить помощь, покажите связанный код и опишите, что такое "но это не работа"
и приведу пример.