Написание календаря с множеством объектов на день рождения, но сортировка не работает

Я пишу календарь на день рождения с множеством объектов на день рождения. Моя функция сравнения неправильно сортируется, и я не могу найти b-day по имени.

class CompareName
{
public:
bool operator()(Birthday* a,Birthday *b)
{
if(a->getLastName()==b->getLastName() && a->getFirstName() != b->getFirstName())
return( a->getFirstName() < b->getFirstName());
else
return (a->getLastName()<b->getLastName());
}

Это моя функция сравнения. Я хочу иметь возможность поиска в базе данных по дню рождения или неполному дню рождения и по полному имени. Я не могу заставить работать поиск по названию.

    void MultiSet::searchByName( Birthday *a)
{
NameSet::iterator result;

result=nameSet.find(a);if(result!=nameSet.end())
(*result)->print();
}

Я уже использовал тип def для мультимножества и использовал его в своем определении для включения функтора объекта, но для краткости оставил его в этом фрагменте кода.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]