3. zadaća?
Select messages from
# through # FAQ
[/[Print]\]
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8  :| |:
Forum@DeGiorgi -> Računarski praktikum 1

#141:  Autor/ica: lucika PostPostano: 0:59 pet, 4. 6. 2010
    —
Cobs (napisa):
i destruktor:

Kod:
KLASA::~KLASA(){

           for( odi sa iteratorom po listi sve_KLASE od pocetka do kraja ){
              if( ako je ime neke KLASE iz liste sve_KLASE == ime ){ izbaci taj pokazivač iz liste }
          }

 }


to je ono osnovno što bi konstruktori i destruktori trebali raditi!
Na taj način smo mi odredili da u programu ne postoje dvije klase istog imena i izbacili iz programa klase koje više ne koristimo.



koristila sam fju erase za izbacivanje tog pokazivača iz liste...kaj da onda stavim umjesto tog? Confused

#142:  Autor/ica: MilojkoLokacija: Hilbertov hotel PostPostano: 1:08 pet, 4. 6. 2010
    —
si zihić dati baš tu baca grešku? lupi rpu cout-ova prije i poslije svake kritične naredbe da vidiš di točno zapinje. ak nitak ne uspiješ naći, pošalji mi u pm-u implementaciju u attachmentu i sadržaj .h datoteke mi skopiraj i zaljepi pać pogledat sutra, tj. danas navečer, il najkasnije sutra

#143:  Autor/ica: CobsLokacija: Geto PostPostano: 10:18 pet, 4. 6. 2010
    —
velika vjerorjatnost je da nisi iza funkcije erase stavila naredbu break;
kojom iskačeš van iz petlje nakon što si pobrisala to što si trebala pobrisat
( ti nastavljaš povećavat iterator kojeg si pobrisala pa tu dolazi do greške )

#144:  Autor/ica: lucika PostPostano: 11:20 pet, 4. 6. 2010
    —
skužila!!!
umjesto erase(i) treba bit erase(i++) Embarassed
fala ljudovi! Weeeeeee!!!!!!!!!!!

#145:  Autor/ica: CobsLokacija: Geto PostPostano: 12:12 pet, 4. 6. 2010
    —
lucika (napisa):
skužila!!!
umjesto erase(i) treba bit erase(i++) Embarassed
fala ljudovi! Weeeeeee!!!!!!!!!!!


i++ samo po sebi nije baš ok! puno bolja varijanta ti je on koju sam ti napiso u postu iznad ( naravno za ovaj slučaj )!

Važno je znati da taj erase( i++ ) nikad nejde sam već uvijek uz još neki dodatak ( ispravak tog iteratora i ). Velike su ti šanse da neće radit niti sa tim erase( i++ ).

Recimo da imaš samo 1 element u slijednom STL spremniku. I recimo da u jednom trenutku u kodu dođe do poziva te tvoje funkcije koja koristi funkciju erase( i++ ). Što će se dogoditi?

Funkcija će uništiti ono na što pokazuje iterator i, a i će se povećati za 1 ( tj. "pomaknut će se za jedno mjesto u desno" ). Zatim se ta for petlja nastavlja izvršavati, a iterator i koji ti je sad na poziciji: kraj spremnika ( jer je u spremniku bio sam jedan element ) se ponovno povećava za 1! Ali kam sad ide? ( kad nema daljnje pozicije od kraja liste ). E tu često dolazi do problema i u biti ne znam kak ti je ovo prošlo!

evo primjera takvog pogrešnog brisanja:
Kod:
#include <iostream>
#include <vector>
 using namespace std;
  int main(){   
   vector<int> V( 1, 1 );   
   for( vector<int>::iterator it = V.begin(); it != V.end(); it++ )
       V.erase( it++ );   
   cout << "Izbacio sam malo prije!" << endl;
   cin.get();
   return 0;
  }


program će izbacit prije nego se bilo kaj ispiše!

Naravno ovakvo brisanje vjerojatno nikad nećete koristit, ali to je samo bio primjer do kakvih situacija može doć u slučaju takvog brisanja!

#146:  Autor/ica: kkarlo PostPostano: 21:12 uto, 8. 5. 2012
    —
Pitanje...
Zašto se u zadatku (računalo, laptop, notebook) traži u funkciji spojiRacunala da se vraća static? I da li to spajanje znači da to novo nastalo računalo ulazi automatski u listu te da nestaju ta dva koja smo spojili? Ili od ta dva nastaje jedno bolje, i drugo lošije?
Confused


Dogodio se bug u tekstu zadatka kod funkcije najbrzeRacunalo, u zagradi bi trebalo pisat s obzirom na sva racunala a ne s obzirom na sva vozila... nije da smeta, ali tek tak da primjetim...



Forum@DeGiorgi -> Računarski praktikum 1


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8  :| |:
Stranica 8 / 8.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin