使用多组生日对象编写生日日历但排序不起作用

时间:2013-05-09 18:52:19

标签: c++ stl multiset

我正在写一个带有多个生日物品的生日日历。我的比较功能没有正确排序,我无法按名称搜索b日。

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();
}

我已经为multiset使用了一个类型def,并且在我的定义中使用了它来包含对象仿函数,但是为了简洁起见,将它留在了这段代码摘录之外。

0 个答案:

没有答案