Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

konstruktor za nekoliko ugniježđenih struktura
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
piko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2009. (18:20:25)
Postovi: (26)16
Sarma = la pohva - posuda
= 4 - 0

PostPostano: 15:12 sub, 1. 5. 2010    Naslov: konstruktor za nekoliko ugniježđenih struktura Citirajte i odgovorite

na vježbama smo vidjeli kako se radi inicijalizacija [b]jedne[/b] strukture ugniježđene u drugoj strukturi preko konstruktora. što ako imamo dvije strukture (ili čak više struktura) koje želimo inicijalizirati preko konstruktora, pri čemu su sve te strukture u jednoj većoj?

evo, to je pitanje, a evo i ilustracije. npr. imam strukturu [tt]vanjska[/tt] i u njoj strukturu [tt]unutarnja[/tt].


[code:1]struct vanjska{


struct unutarnja{

int broj;

unutarnja(int x){broj = x;} //konstruktor za unutarnji struct

};

unutarnja U;

double broj2;

//konstruktor za vanjski struct:
vanjska(double br2, int br) : U(br){

broj2 = br2;

}

};[/code:1]

ovdje je ključna linija

[code:1]vanjska(double br2, int br) : U(br){...[/code:1]

jer tako konstruktor pristupa konstruktoru od pod-strukture.

ako sada u [tt]main[/tt]u napisem

[code:1]vanjska V(7.4, 8);[/code:1]

onda ce biti [tt]V.broj2 = 7.4, V.U.broj = 8[/tt]





ali sada imam dvije podstrukture, [tt]unutarnja1[/tt] i [tt]unutarnja2[/tt], svaka sa svojim konstruktorom:

[code:1]struct vanjska{


struct unutarnja1{

int broj;

unutarnja1(int x){broj = x;} //konstruktor za 1. unutarnji struct

};

unutarnja1 U1;

struct unutarnja2{

char znak;

unutarnja2(char c){znak = c;} //konstruktor za 2. unutarnji struct

};

unutarnja2 U2;

double broj2;

//konstruktor za vanjski struct:
vanjska(double br2, int br, char zn) NESTO { ... }

};[/code:1]

dakle, što mora pisati umjesto [tt]NESTO[/tt] da bi u [tt]main[/tt]u, nakon deklaracije

[code:1]vanjska V(7.4, 8, 'g');[/code:1]

vrijedilo [tt]V.broj2 = 7.4, V.U1.broj = 8, V.U2.znak = 'g'[/tt] ?

zahvaljujem :D
na vježbama smo vidjeli kako se radi inicijalizacija jedne strukture ugniježđene u drugoj strukturi preko konstruktora. što ako imamo dvije strukture (ili čak više struktura) koje želimo inicijalizirati preko konstruktora, pri čemu su sve te strukture u jednoj većoj?

evo, to je pitanje, a evo i ilustracije. npr. imam strukturu vanjska i u njoj strukturu unutarnja.


Kod:
struct vanjska{
       
       
       struct unutarnja{
             
              int broj;
             
              unutarnja(int x){broj = x;} //konstruktor za unutarnji struct
               
              };
         
       unutarnja U;
       
       double broj2;
         
       //konstruktor za vanjski struct:
       vanjska(double br2, int br) : U(br){
                     
                      broj2 = br2;
                     
                      }

       };


ovdje je ključna linija

Kod:
vanjska(double br2, int br) : U(br){...


jer tako konstruktor pristupa konstruktoru od pod-strukture.

ako sada u mainu napisem

Kod:
vanjska V(7.4, 8);


onda ce biti V.broj2 = 7.4, V.U.broj = 8





ali sada imam dvije podstrukture, unutarnja1 i unutarnja2, svaka sa svojim konstruktorom:

Kod:
struct vanjska{
       
       
       struct unutarnja1{
             
              int broj;
             
              unutarnja1(int x){broj = x;} //konstruktor za 1. unutarnji struct
               
              };
         
       unutarnja1 U1;
       
       struct unutarnja2{
             
              char znak;
             
              unutarnja2(char c){znak = c;} //konstruktor za 2. unutarnji struct
               
              };
         
       unutarnja2 U2;
       
       double broj2;
         
       //konstruktor za vanjski struct:
       vanjska(double br2, int br, char zn) NESTO { ... }

       };


dakle, što mora pisati umjesto NESTO da bi u mainu, nakon deklaracije

Kod:
vanjska V(7.4, 8, 'g');


vrijedilo V.broj2 = 7.4, V.U1.broj = 8, V.U2.znak = 'g' ?

zahvaljujem Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 15:31 sub, 1. 5. 2010    Naslov: Citirajte i odgovorite

[code:1]: U1(br), U2(zn) [/code:1]
(dvotočka nije slučajna)

to se inače zove inicijalizacijska lista, i u njoj inicijaliziramo varijable, tj zovemo konstruktore za pojednine strukture. Tako da onom kodu gore može pridužit i broj2(br2) i onda stavit prazan konstruktor {}. Sve varijable članice klase vanjska biti će konstruirane i inicijalizirane.
Kod:
: U1(br), U2(zn)

(dvotočka nije slučajna)

to se inače zove inicijalizacijska lista, i u njoj inicijaliziramo varijable, tj zovemo konstruktore za pojednine strukture. Tako da onom kodu gore može pridužit i broj2(br2) i onda stavit prazan konstruktor {}. Sve varijable članice klase vanjska biti će konstruirane i inicijalizirane.



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
piko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2009. (18:20:25)
Postovi: (26)16
Sarma = la pohva - posuda
= 4 - 0

PostPostano: 17:05 sub, 1. 5. 2010    Naslov: Citirajte i odgovorite

[quote="Luuka"][code:1]: U1(br), U2(zn) [/code:1]
(dvotočka nije slučajna)[/quote]

radi! :sreca:

puno hvala!

[quote="Luuka"]to se inače zove inicijalizacijska lista, i u njoj inicijaliziramo varijable, tj zovemo konstruktore za pojednine strukture. Tako da onom kodu gore može pridužit i broj2(br2) i onda stavit prazan konstruktor {}. Sve varijable članice klase vanjska biti će konstruirane i inicijalizirane.[/quote]

onda u gornjem kodu konstruktor izgleda ovako

[code:1]vanjska(double br2, int br, char zn) : U1(br), U2(zn), broj2(br2){ }[/code:1]

hvala na tipu :D
Luuka (napisa):
Kod:
: U1(br), U2(zn)

(dvotočka nije slučajna)


radi! Trcim u krug od srece!

puno hvala!

Luuka (napisa):
to se inače zove inicijalizacijska lista, i u njoj inicijaliziramo varijable, tj zovemo konstruktore za pojednine strukture. Tako da onom kodu gore može pridužit i broj2(br2) i onda stavit prazan konstruktor {}. Sve varijable članice klase vanjska biti će konstruirane i inicijalizirane.


onda u gornjem kodu konstruktor izgleda ovako

Kod:
vanjska(double br2, int br, char zn) : U1(br), U2(zn), broj2(br2){ }


hvala na tipu Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan