все что тебе нужно, так это собственно только это, ну и вместо X название своего класса bool operator< (const X& lhs, const X& rhs){ return cmp(lhs,rhs) < 0; } внутри сравниваешь свои поля, ну и после operator указываешь тот оператор, который нужно перегрузить