setコンテナで名前から電話番号を検索する例

#include <iostream>
#include <string>
#include <set>

using namespace std;

class CAddress
{
public:
	string m_strName;
	string m_strTel;
	CAddress(){}
	CAddress(const string& name, const string& tel)
			{m_strName = name; m_strTel = tel;}
};

bool operator<(const CAddress& adr1, const CAddress& adrr)
{
	return adr1.m_strName < adrr.m_strName;
}

int main()
{
	set<CAddress> setAdrs;
	
	setAdrs.insert(CAddress("Anne", "1111-1111"));
	setAdrs.insert(CAddress("Charlie", "3333-3333"));
	setAdrs.insert(CAddress("Bob", "2222-2222"));
	setAdrs.insert(CAddress("Debby", "4444-4444"));
	
	set<CAddress>::iterator p;
	p = setAdrs.find(CAddress("Anne", ""));
	if(p != setAdrs.end()){
		cout << p->m_strName << "の電話番号は";
		cout << p->m_strTel << "です" << endl;
	}
	else{
		cout << "Anneの電話番号が見つかりません" << endl;
	}
	
	cout << endl << "電話番号一覧" << endl;
	for(p = setAdrs.begin(); p != setAdrs.end(); p++){
		cout << p->m_strName << "\t: " << p->m_strTel << endl;
	}
	
	return 0;
}