Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpOpInr 46 of 150 menu
◀ ▶

Введение в операторы в C++

Оператор в классе - это обычный метод, только его имя задают через ключевое слово operator и знак из выражения: плюс, минус, равенство и другие. Тело метода пишут так же, как у любого другого метода.

Снаружи выражение с двумя объектами выглядит привычно: между ними стоит знак, а компилятор подставляет вызов метода на левом операнде. Запишем класс Vec с полями x и y и оператор сложения, который возвращает новый вектор:

class Vec { public: int x = 0; int y = 0; Vec operator+(const Vec& other) { Vec result; result.x = x + other.x; result.y = y + other.y; return result; } };

Сейчас создадим два объекта и сложим их:

int main() { Vec a; a.x = 1; a.y = 2; Vec b; b.x = 3; b.y = 4; Vec sum = a + b; std::cout << sum.x << " " << sum.y << "\n"; return 0; }

Исходные объекты a и b не меняются - метод создает и возвращает отдельный Vec. Так же устроены многие операции над встроенными типами.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить