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

pristupanje static elementima 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: 19:47 sub, 15. 5. 2010    Naslov: pristupanje static elementima struktura Citirajte i odgovorite

recimo da imam jednu strukturu sa static varijablom a:

[code:1]struct prva{ static int a; };

int prva::a = 2;

int main (void){

cout << "u mainu: " << prva::a << endl; //ispise 2

return 0;
}[/code:1]

ta varijabla se može koristiti i u [tt]struct prva[/tt] i u [tt]main[/tt]u, ako se napiše [tt]prva::a[/tt].

zanima me je li ikako moguće da, ako imam još jednu strukturu kao dolje, da se nekako iz strukture [tt]druga[/tt] dopre do static varijable iz strukture [tt]prva[/tt]?

[code:1]struct prva{ static int a; };

struct druga{ int x; };

int prva::a = 2;

int main (void){

cout << "u mainu: " << prva::a << endl; //ispise 2

return 0;
}[/code:1]

na primjer, je li moguće da u [tt]struct druga[/tt] postoji neka funkcija koja će varijabli [tt]x[/tt] pridružiti vrijednost static varijable [tt]a[/tt]?

zahvaljujem :D
recimo da imam jednu strukturu sa static varijablom a:

Kod:
struct prva{ static int a;   };

int prva::a = 2;

int main (void){
   
    cout << "u mainu: " << prva::a << endl; //ispise 2
   
    return 0;
    }


ta varijabla se može koristiti i u struct prva i u mainu, ako se napiše prva::a.

zanima me je li ikako moguće da, ako imam još jednu strukturu kao dolje, da se nekako iz strukture druga dopre do static varijable iz strukture prva?

Kod:
struct prva{ static int a;   };

struct druga{    int x;   };

int prva::a = 2;

int main (void){
   
    cout << "u mainu: " << prva::a << endl; //ispise 2
   
    return 0;
    }


na primjer, je li moguće da u struct druga postoji neka funkcija koja će varijabli x pridružiti vrijednost static varijable a?

zahvaljujem Very Happy


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


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 20:18 sub, 15. 5. 2010    Naslov: Citirajte i odgovorite

pa da na isti nacin kako to radis u mainu, ako sam dobro shvatio sto hoces...

[code:1]struct prva{ static int a; };

struct druga{
int x;
void f(){x=prva::a;}
};

int prva::a = 2;

int main (void){
druga d;
d.x=1;
cout << d.x;
d.f();
cout << d.x;
system("pause");
return 0;
}[/code:1]
pa da na isti nacin kako to radis u mainu, ako sam dobro shvatio sto hoces...

Kod:
struct prva{ static int a;   };

struct druga{
    int x;   
    void f(){x=prva::a;}
    };

int prva::a = 2;

int main (void){
    druga d;
    d.x=1;
    cout << d.x;
    d.f();
    cout << d.x;
    system("pause");
    return 0;
    }



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
piko
Forumaš(ica)
Forumaš(ica)


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

PostPostano: 20:48 sub, 15. 5. 2010    Naslov: Citirajte i odgovorite

[quote="Gino"]pa da na isti nacin kako to radis u mainu, ako sam dobro shvatio sto hoces...[/quote]

hvala, radi mi! nešto sam prije krivo napisao pa mi nije radilo. :oops:

ali sad imam još jedno pitanje:

u zadaći imam dvije strukture i prva koristi elemente druge strukture, a druga struktura koristi elemente prve strukture. kako to izvesti?

evo primjera takve situacije:

[code:1]struct B;

struct A{
int a;
void funkcija1(){ // ovdje trebam b iz B }
};

struct B{
int b;
void funkcija2(){ // ovdje trebam a iz A }
};[/code:1]

dakle, u zadaći struktura A mora raditi sa elementima iz strukture B. ali ako prvo definiram cijelu strukturu B, umjesto samo [tt]struct B;[/tt] opet nije dobro, jer se i u strukturi B koriste elementi/članovi strukture A, koji se tek trebaju definirati, pa ni ovo nije dobro, jer sad uopće nije definirano što je npr [tt]a[/tt]:

[code:1]struct B{
int b;
void funkcija2(){ // ovdje trebam a iz A }
};

struct A{
int a;
void funkcija1(){ // ovdje trebam b iz B }
}; [/code:1]

kompajler javlja poruke tipa:

[code:1]invalid use of undefined type `struct ime_strukture'
forward declaration of `struct ime_strukture' [/code:1]

puno hvala na pomoći!
Gino (napisa):
pa da na isti nacin kako to radis u mainu, ako sam dobro shvatio sto hoces...


hvala, radi mi! nešto sam prije krivo napisao pa mi nije radilo. Embarassed

ali sad imam još jedno pitanje:

u zadaći imam dvije strukture i prva koristi elemente druge strukture, a druga struktura koristi elemente prve strukture. kako to izvesti?

evo primjera takve situacije:

Kod:
struct B;

struct A{
       int a;
       void funkcija1(){ // ovdje trebam b iz B }
       };
       
struct B{
       int b;
       void funkcija2(){ // ovdje trebam a iz A }
       };


dakle, u zadaći struktura A mora raditi sa elementima iz strukture B. ali ako prvo definiram cijelu strukturu B, umjesto samo struct B; opet nije dobro, jer se i u strukturi B koriste elementi/članovi strukture A, koji se tek trebaju definirati, pa ni ovo nije dobro, jer sad uopće nije definirano što je npr a:

Kod:
struct B{
       int b;
       void funkcija2(){ // ovdje trebam a iz A }
       };

struct A{
       int a;
       void funkcija1(){ // ovdje trebam b iz B }
       };   


kompajler javlja poruke tipa:

Kod:
invalid use of undefined type `struct ime_strukture'
forward declaration of `struct ime_strukture'


puno hvala na pomoći!


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


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 21:12 sub, 15. 5. 2010    Naslov: Citirajte i odgovorite

[quote="piko"]
[code:1]struct B;

struct A{
int a;
void funkcija1(){ // ovdje trebam b iz B }
};

struct B{
int b;
void funkcija2(){ // ovdje trebam a iz A }
};[/code:1][/quote]
to bi trebalo radit, ako malo pripazis naime ovo
[code:1]struct B;
struct A{
B b;
};
struct B{
A a;
};[/code:1]
ne radi, ali ovo
[code:1]struct B;
struct A{
B *b;
};
struct B{
A a;
};[/code:1]
radi
ja savjetujem u svakom slucaju ovakvo nesto:
[code:1]struct B;
struct A{
B *b;
};
struct B{
A *a;
};[/code:1]
piko (napisa):

Kod:
struct B;

struct A{
       int a;
       void funkcija1(){ // ovdje trebam b iz B }
       };
       
struct B{
       int b;
       void funkcija2(){ // ovdje trebam a iz A }
       };

to bi trebalo radit, ako malo pripazis naime ovo
Kod:
struct B;
struct A{
    B b;   
    };
struct B{
    A a;
    };

ne radi, ali ovo
Kod:
struct B;
struct A{
    B *b;   
    };
struct B{
    A a;
    };

radi
ja savjetujem u svakom slucaju ovakvo nesto:
Kod:
struct B;
struct A{
    B *b;   
    };
struct B{
    A *a;
    };



_________________
Mario Berljafa
[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