Вывод объекта в C++
Поток std::cout и << выводят числа и строки.
Свой тип подключают к той же записи свободной функцией
operator<<: первый параметр - поток, второй -
объект для печати. Функция объявляется вне класса.
Если поля класса публичные, тело функции читает их
напрямую. Запишем класс Vec:
#include <iostream>
class Vec {
public:
int x = 0;
int y = 0;
};
std::ostream& operator<<(std::ostream& out, const Vec& v) {
out << v.x << " " << v.y;
return out;
}
Сейчас создадим объект и выведем его:
int main() {
Vec point;
point.x = 4;
point.y = 6;
std::cout << point << "\n";
return 0;
}
Сделайте класс Pair с публичными полями
a и b. Добавьте свободный вывод
через << в формате двух чисел через пробел.
Выведите пару 3 и 8.
Создайте Pair с 0 и -2,
напечатайте ее в поток и добавьте перевод строки.