Задача · Шаблоны · урок 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.
Не добавляйте лишних #include, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.