@habib_habib

Как сделать так, чтобы математический знак + не был функцией?

Здравствуйте. Как сделать так, чтобы математический знак + не был функцией? Я использую онлайн компилятор
64ecc22e7e72b718586667.png
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
В c++ существует способ переопределить поведение операторов для своих классов, такие операторы как ++ и -- это unary операторы (могут располагаться как перед оператором так и после с различным поведением) но невозможно изменить ситуации как именно + и - могут быть унарными, так как из размещение в режиме unary допускается только перед переменной.
// можно
выражение++
// но нельзя
выражение+
// можно
+выражение


чтобы переопределить унарный + нужно написать
MyClass operator+()
{
  // выполнить действия с this
  return MyClass(value);
}


На сколько я знаю твой код (nujno==+) никак нельзя сделать валидным (препроцессор кстати тоже не позволит переопределить поведение +), да и == - бинарный оператор (нет варианта с его одинарным использованием)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы