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

nedoumice u vezi c++

[es] :: C/C++ programiranje :: nedoumice u vezi c++

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ttk
Tatjana Krstic
Beograd

Član broj: 31939
Poruke: 13
*.153.EUnet.yu

Sajt: www.tkdesign.org


Profil

icon nedoumice u vezi c++12.08.2004. u 15:20 - pre 239 meseci
Imam par pitanja u vezi zadataka iz c++. Obzirom da sam u fazi pripreme ispita, te jos nisam u potpunosti ovladala jezikom i svim njegovim mogucnostima, nemojte mi zameriti na mozda pocetnickim pitanjima.

Elem, navescu kod resenja ispitnog zadatka (resenje dao asistent) a moje pitanje je da li u funkciji Kodiranje moram da brisem pokazivac ul ako ga preusmerim?

Code:

class Slozenatransformacija: public Transformacija
{ ....

void Kodiranje(const NizBajtova& ulaz, Nizbajtova& izlaz)
  { Nizbajtova* ul=&ulaz;
     NizBajtova* izl=0;
    
     for (unsigned int=0; i<st.size(); i++)
       { if (i<st.size()-1)
          izl= new NizBajtova;
          else izl = &izlaz;
          st[i] -> Kodiranje (*ul,*izl);
          if (i>0) delete ul;
          ul=izl;
       }
   }
 ...


Drugo pitanje je: Ako npr imam klasu koja kao privatnu promenljivu ima vektor
class A
{ vector<Tip>v;
...

Da li u konstrukroru te klase moram da postavim prazan vekstor sa
A()
:v()
{}

ili se to odradi automatski?

Jos jedno pitanjce: Iza deklaracije potpuno virtuelne fje cesto, i ako se ne trazi u zadatku, asistent stavlja const! Sta zapravo znaci const iza deklaracije fje, i da li je greska ako se ne napise?
I da ne zaboravim ... Ako se sadrzaj vektora brise u ciklusu, zasto mi je potrebno i v.clear(). Cesto, u destruktoru navodi samo ciklus za brisanje vektora, a npr u definiciji operatora == posle ciklusa napise i v.clear()


Hvala unapred,
Pozdrav,
Tatjana


It's nice to be important, but it's more important to be nice.
 
Odgovor na temu

4063
Zaharije Pasalic

Član broj: 19862
Poruke: 29
*.as54.bi.bih.net.ba.

Sajt: www.maspic.netfirms.com


Profil

icon Re: nedoumice u vezi c++13.08.2004. u 00:12 - pre 239 meseci
Odgovor 1)

Ako metoda Kodiranje radi ono sto ja mislim (???) onda nije potrebno da brises "uk" pokazivac jer je to samo temporalni pointer za koji se ne alocira memorija vec ga postavljas na "izl" da bi ga prenio kao parametar rekurzivnom pozivu. Mada ces kasnije morati obrisati sve alocirane "izl".

Odgovor 2)

Posto template vector ima default konstruktor (bez parametara) onda ga nije potrebno navoditi. Ako koristis konstruktor za vector sa nekim parametrom, onda moras.

Odgovor 3)

Const se stavlja iza metode da bi naglasio da ta metoda ne mijenja podatke svoje klase. Ako ga ne stavis nema problema, ali kada se pravi bazna klasa cesto postoje metode koje ne smiju promjeniti clanove klase. CEsto kompajler moze optimizirati kod za metode kod kojih ima const (npr: gcc).

Nadam se da sam nesto helpno!

 
Odgovor na temu

ttk
Tatjana Krstic
Beograd

Član broj: 31939
Poruke: 13
*.239.eunet.yu

Sajt: www.tkdesign.org


Profil

icon Re: nedoumice u vezi c++13.08.2004. u 09:33 - pre 239 meseci
o.k Hvala puno. Nesto slicno sam i pretpostavila, ali mi je bila potrebna logisticka podrska


It's nice to be important, but it's more important to be nice.
 
Odgovor na temu

[es] :: C/C++ programiranje :: nedoumice u vezi c++

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

Postavi temu Odgovori

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