Step 6 (S-11469)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/564/step/6

На предыдущей неделе вы познакомились с перегрузкой операторов. Среди перегружаемых операторов в C++ есть оператор (). Рассмотрим пример перегрузки:


struct Less {     bool operator()(int a, int b) const { return a < b; } };


Создадим объект Less и назовем его less. Использование этого объекта синтаксически выглядит как вызов функции:


if (less(10, 20))     std::cout << "10 < 20" << std::endl;else     std::cout << "10 >= 20" << std::endl;


Если заменить объект less на функцию с тем же именем:


bool less(int a, int b) { return a < b; }


то код выше не потребует никаких изменений. Однако, хотя в обоих случаях объекты имеют одно и то же имя (less), их типы отличаются.