Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Template class - potrebna pomoc (pretraga, upis, citanje...)

  • 1 odgovor
  • 3.065 pregleda

Najnovija ↓

Template class - potrebna pomoc (pretraga, upis, citanje...) 23.04.2004. u 15:09 · pre 274 meseca #1
Imam slijedeci problem:

Trebam da napisem template object tj. container koji ce moci da upisuje u fajl,
cita iz fajla, trazi i izlistava podatke po imenu, recimo cijeni, godistu i slicno (nije bitno).

Recimo da imam dvije klase:

Code:
 class korisnik
{
string ime;
int tip;

//....
public:

 //... razne korisnicke funkcije (login(), predstaviSe()...)
};

class stanovnik
{

string ime, prezime, mjRodj ;    // i druge podatke
double JMBG;
public:
 //... razne korisnicke funkcije (addData(), predstaviSe()...)

}; 


Potrebno mi je da ove podatke unosim u fajl, citam iz njega, pretrazujem...

Kontejner klasu sam otprilike sam zamislio ovako:

Code:
 template <typename elemType, typename findType>
class Container
{

   vector <elemType> elementi;

public:
vector <elemType> elementi readFromFile (string filename);
void writeToFile(string filename, vector <elemType> &elementi);

void findIn (const vector<elemType> &elementi, findType s);
// prikazuje pronadjene elemente
//findType je tip odnosno klasni pristupnik (class accessor) 
odredjenog clana (class member)

//... mozda jos neke f-cije koje mi sada ne trebaju
        
};


Rijesio sam pitanje implementacije upisa i citanja iz/u fajl,
ali me interesuje kako da postavim ovu pretragu
jer nekad ce mi trebati findType da bude string nekad int itd... s
to i jeste poenta (bitno).

Promisljao sam da sve prvo ucitam u mapu ili multimap-u iz vectora i
onda da izvrsim pretragu tako da mi je kljuc findType a vrijednost elemType
(kompletan objekat), ali sam nov sa STL-om a i sa generickim programiranjem...

Nadam se da sam dovoljno opisao problem.

Unaprijed hvala.

//--------------------------------------------------
Re: Template class - potrebna pomoc (pretraga, upis, citanje...) 04.07.2004. u 14:45 · pre 272 meseca #2
To se obično radi prosleđivanjem recimo pointera na funkciju koja poredi elemente i vraća 1 ako je poređenje uspelo, odnosno 0 ako nije. Funkciju sam pišeš naknadno. U STL-u postoje predikati koji olakšavaju pisanje ovakvih funkcija.

f
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme