Перейти к содержимому
Задача · Шаблоны · урок 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"}) → false
  • p.less_than({8, "apple"}) → true, p.less_than({7, "zebra"}) → true

Ограничения: в проверках встречаются Pair<int, std::string> и Pair<std::string, int>; для равных пар less_than возвращает false.

pair.cpp — cpp
cpp · строк: 18
Ctrl+Enter запуск · Esc выйти из редактора