Оператор сложения в C++
Знак + у чисел уже означает сложение. Для своего
типа ту же запись дают, объявив в классе оператор сложения
с ключевым словом operator перед +.
Второй операнд передают по константной ссылке.
Метод складывает поля и возвращает новый объект -
исходные экземпляры остаются прежними. Запишем
класс Vec:
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 first;
first.x = 2;
first.y = 5;
Vec second;
second.x = 1;
second.y = 3;
Vec total = first + second;
std::cout << total.x << " " << total.y << "\n";
return 0;
}
Сделайте класс Money с полем cents.
Добавьте оператор сложения. Сложите суммы 120
и 30 через плюс и выведите cents
результата.
Для двух объектов Money с 40 и 15
центами получите сумму записью с плюсом и выведите число.