sortwanie klasy w vector

0

mam klase osoba

class OSOBA
{
public:
string ID;
string nazwisko;
string imie;
string nazwa;
string adres;
string miasto;
string kod;
string nip;
};

jak posortowac dane w vector 'ze

bool operator<(const OSOBA& ls, const OSOBA& rs)
{
return (ls.nip < rs.nip); 
}

stworzylem cos takiego i normalnie sortuje wg nip'u poleceniem

sort(os.begin(),os.end());

tylko teraz jest pytanie jak posortowac np wg miasta, nazwy itp.

Pozdrawiam
SmallWorker

0

looknij w dokumentacje stl'a na sgi. Sort jest przeciazona. Mozna dodac 3rd parametr - porzadek wg. jakiego ma byc wszystko posortowane. Wystarczy zdefiniowac odpowiedni funktor / funkcje.

0

znalazlem

sort(os.begin(),os.end(),funkcjaporuwnujaca);

thx za pomoc
SmallWorker

0

polecam dla ladnego porzadku owa funkcje/funktor porownujacy utworzyc jako public static w klasie osoba :)

0

a dlaczego nie friend? AFAIK takie funkcje powinny być zaprzyjaźnione

0

bo jak beda inner to friend nie potrzeba, wszystko jest zwiezlejsze i nie zasmiecasz namespaca kupa nowych nazw..

1 użytkowników online, w tym zalogowanych: 0, gości: 1