Задача · Шаблоны · урок 8 из 11
Задача: шаблон Pair
В шаблоне класса Pair уже есть поля first типа A и second типа B — напишите три его метода. Pair<B, A> swapped() const возвращает новую пару с теми же значениями в обратном порядке, а bool equals(const Pair<A, B>& other) const сообщает, совпадают ли у пар оба поля. bool less_than(const Pair<A, B>& other) const проверяет, меньше ли эта пара, чем other: сначала сравниваются поля first, а если они равны — поля second.
Примеры для пары Pair<int, std::string> p{7, "seven"}:
p.swapped()→Pair<std::string, int>{"seven", 7}p.equals({7, "six"})→falsep.less_than({8, "apple"})→true,p.less_than({7, "zebra"})→true
Ограничения: в проверках встречаются Pair<int, std::string> и Pair<std::string, int>; для равных пар less_than возвращает false.