Se ho una classe Componente
dove le componenti sono il nome ed il costo
e una classe Automobile
dove ha una lista di Componenti (list<Componente> componenti;)
per vedere se due liste sono uguali devo fare cosi: (???)
//nella classe Componente
bool operator!=(const Componente& c)
{
if(nome==c.nome)
return false;
return true;
}
//nella classe Automobile
bool operator==(const Automobile& a)
{
if(componenti.size() != a.componenti.size())
return false;
list<Componente>::iterator it1=componenti.begin();
for(list<Componente>::const_iterator it2=a.componenti.begin();it2!=a.componenti.end();it2++)
{
if((*it1) != (*it2))
return false;
it1++;
}
return true;
}