All numeric and enumeration types define a "less than" relational operator (<) that returns true if the first operand is less than the second, false otherwise.
User-defined types can overload the < operator (see operator). If < is overloaded, > must also be overloaded. When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.