0

誕生日オブジェクトのマルチセットで誕生日カレンダーを書いています。比較機能が正しくソートされず、誕生日を名前で検索できません。

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

マルチセットの型定義を既に使用しており、オブジェクト ファンクターを含めるために定義に使用していますが、簡潔にするために、このコードの抜粋からは省略しています。

4

0 に答える 0