Multiset custom class

Sir/Mam why we are using operator overloading () here and what happens when we mention the class person_comparator inside multiset.(multiset<pair<string,int> person_comparator)

Operator overloading helps us in having the comparison in the way we want.
In multiset data is stored in a sorted fashion, now for sorting the data, you need to compare two objects, but by default the comparison operators cannot compare objects of custom class, so we need to overload the operator so that the comparison can be made.