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

Upotreba iste klase unutar klase

[es] :: C/C++ programiranje :: Upotreba iste klase unutar klase

[ Pregleda: 4758 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Angry-Someone

Član broj: 46099
Poruke: 30
*.adsl.net.t-com.hr.



Profil

icon Upotreba iste klase unutar klase05.06.2008. u 15:40 - pre 193 meseci
Primjer

Code:

struct Prva {

Prva prva; //ili funkcija, primjer(Prva *prva, string wtf);
Druga druga;   
};

struct Druga {

Druga druga;
Prva prva; 
};

Ovo je samo primjer, ja ubiti koristim liste i funkcije,
Ja imam implementaciju takvu i to mora tako biti, znači funkcija mora biti u strukturi i ne smije se mjenjati,
kad pokušam kompajlirati neće (devc++) i stvarno ne znam kako da to riješim i gdi je problem
Ako netko zna bio bih mu jako zahvalan!
 
Odgovor na temu

BinaryRuler

Član broj: 73518
Poruke: 189
79.101.168.*



+3 Profil

icon Re: Upotreba iste klase unutar klase05.06.2008. u 17:36 - pre 193 meseci
Ja koliko znam funkciju nemozes da gurnes u strukturu.
Mozes da napravis klasu a ne strukturu.
pozz
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Upotreba iste klase unutar klase05.06.2008. u 22:15 - pre 193 meseci
@SkyDiverX - Onda loše znaš. Naravno da je moguće.

@Angry-Someone, nije moguće uraditi to, jer upadaš u beskonačnu definiciju strukture. Drugim rečima, rekurzivna definicija klase ili strukture u programskom jeziku C++ nije moguća.

Međutim, moguće je uraditi ovo:

Code:

struct Prva {

    Prva* prva; 

    struct Druga {

        Druga* druga;
        Prva* prva; 
    };

    Druga druga;   
    void primjer(Druga* druga, Prva* prva);
};

typedef Prva::Druga Druga;
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.237.*



+9 Profil

icon Re: Upotreba iste klase unutar klase06.06.2008. u 12:20 - pre 193 meseci
Nema tu rekurzije ili beskonačnih petlji. Compiler neće dopustiti ovakvu deklaraciju varijable čisto iz razloga jer u tom trenutku nezna njegovu veličinu u memoriji (jer definicija tog objekta prethodno nigdje nije gotova), dok za pokazivač na taj objekt se zna kolika je njegova veličina (4 byte).
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Upotreba iste klase unutar klase06.06.2008. u 14:30 - pre 193 meseci
@itf - ovo sa beskonacnom petljom sam lupio, priznajem, tek sada vidim.

Dalje, nema tu rekurzije (u pravom C-lish smislu reči :) ), ali postoji rekurzivna definicija klase, odn. strukture - prilikom koje stoji ovo što si naveo.
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.dynamic.sbb.rs.



+9 Profil

icon Re: Upotreba iste klase unutar klase07.06.2008. u 16:22 - pre 193 meseci
itf jer u pravu, te i ne mora da bude onako ugnjezdena deklaracija strukture.

Code:


struct druga;

struct prva
{
  druga *d;
};

struct druga
{
  prva *p;
};



Dakle, samo forward deklaracija i ništa više. Razlika u layoutu klase i strukture (C++) ne postoji, već se samo razlikuje default pristup.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Upotreba iste klase unutar klase08.06.2008. u 22:06 - pre 193 meseci
Ne razumem. Kakve ima veze post Itf-a sa ugneždenom deklaracijom? Dalje, pitanje se nije odnosilo na to, već na deklaraciju objekta neke klase unutar iste.
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Upotreba iste klase unutar klase09.06.2008. u 01:43 - pre 193 meseci
pa ljudi su ti lepo odgovorili:

Nije moguce deklarisati objekat koji je istog tipa kao i klasa ciji je clan zato sto u trenutku kompajliranja kompajler mora da zna kompletnu definiciju tipa/klase svakog objekta.

Ono sto jeste moguce je definisati pokazivac na objekat. Odnosno:

Code:

class test; // forward deklaracija

class test {
public:
  test() {}
  ~test() {}
  
private:
   test p; // ovo nije dozvoljeno
   test *p2; // ovo jeste dozvoljeno
};



Tko leti vrijedi
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Upotreba iste klase unutar klase09.06.2008. u 09:41 - pre 193 meseci
@kiklop, jasno mi je to. Samo, kakve veze ima ugneždena definicija klase/strukture sa tim?

PS. Nema veze, nije ovo advocacy, da potežemo besmislenu raspravu o nečemu već objašnjenom. Ignore me ;).
 
Odgovor na temu

[es] :: C/C++ programiranje :: Upotreba iste klase unutar klase

[ Pregleda: 4758 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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