Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Drvo sa decom razlicitog tipa

[es] :: C/C++ programiranje :: Drvo sa decom razlicitog tipa

[ Pregleda: 1343 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Drvo sa decom razlicitog tipa01.06.2012. u 18:28 - pre 127 meseci
Za obradu nekih podataka u programu, koristim strukturu podataka u vidu drveta (tree).
Sve bi to bilo divno kada bi deca drveta bila istog tipa.

Kod za sada izgleda ovako
Code:

class Object {
    map<string, Object> _children;
public:
    Object(){        
    }

    // Preklopljeni operator[], bla bla bla
    
    void addProperty(string name, Object value){
        _children.insert(pair<string,Object>(name, value));
    }
};


E sada problem je u tome sto deca nece uvek biti tipa Object, vec mogu biti i tipa std::vector i std::string.

Postoji li neki nacin da se ovo odradi, vodeci racuna o pristojnim performansama.......?


Hvala unapred


while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8578
*.3gnet.mts.telekom.rs.



+2777 Profil

icon Re: Drvo sa decom razlicitog tipa01.06.2012. u 20:49 - pre 127 meseci
Postoji.

Napravi apstraktnu klasu Item, pa iz nje izvedi klasu ObjectItem koja sadrži atribut tipa Object, StringItem koja sadrži atribut tipa string itd, pa onda napravi mapu čije su vrednosti tipa Item*.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Drvo sa decom razlicitog tipa01.06.2012. u 22:40 - pre 127 meseci
Pa razmisaljo sam o tome, cak sam to posle i uradio, ali bih vise volio da to uradim na neki drugi nacin, ako postoji, nesto sa template-ima ili nesto drugo......hvala u svakom slucaju puno
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

[es] :: C/C++ programiranje :: Drvo sa decom razlicitog tipa

[ Pregleda: 1343 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.