Portál AbcLinuxu, 10. května 2025 04:31

Dotaz: C++ reference na objekt predane konstruktoru

Přemek Vyhnal avatar 8.2.2009 15:26 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
C++ reference na objekt predane konstruktoru
Přečteno: 412×
Odpovědět | Admin

Zdravím

Zápasím se svým prvním programem v C++ a mám v tom trochu chaos.

Mám třídy Hřiště a Hráč. Konstruktoru Hráče chci říct na jakým je hřišti aby mohl to hřiště nějak ovlivnit. Takže mám jedno hřiště a na něm několik hráčů a všichni ho mohou nějak používat.. všichni jedno společné.

Nějaký tip jak na to? Snažím se to udělat tak, že každý hráč má referenci na hřiště na kterém je. přibližně takto:

class Hriste { ... };

class Hrac {
    private:
        Hriste h;
    public:
        Hrac (Hriste& hriste){
            h=hriste; //?
        }
};

..main()..{

Hriste hriste();

Hrac hrac1(hriste);

Hrac hrac2(hriste);

}

 

No a problém je že se to Hřistě někde kopíruje.. chci aby existovalo jen jedno a všude na něj byla jen reference.. Nebo jestli by mi někdo doporučil to udělat úplně jinak...

Předem díky za cokoliv

NO RAPTORS!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.2.2009 15:35 johniez | skóre: 17 | blog: xyz | Praha
Rozbalit Rozbalit vše Re: C++ reference na objekt predane konstruktoru
Odpovědět | | Sbalit | Link | Blokovat | Admin

class Hrac {
    private:
        Hriste &h;
    public:
        Hrac (Hriste& hriste){
            h=hriste; //?
        }
};

Přemek Vyhnal avatar 8.2.2009 15:45 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: C++ reference na objekt predane konstruktoru

Geniální! ;)

A neuvěřitelný.. strávil jsem tím asi tak týden a jsem si skoro jistý že jsem tohle už zkoušel.. stejně jako všechny ostaní kombinace & a * za a před všechno ;)

Hrozně moc děkuju ;)

NO RAPTORS!
kozzi avatar 8.2.2009 15:58 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: C++ reference na objekt predane konstruktoru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle me na to jdes zcela spatne. Zkus si neco precist o objektovym modelovanim. OOP tu existuje aby nam umoznilo dokonalejsi navrh. Ne ze ma byt nasi snahou!!! Takze lepsi zpusob by bylo kdyby instance(objekt) tridy Hriste obsahoval instance tridy Hrac. jelikoz i v realnem svete mame Hriste a to obsahuje urcity pocet hracu.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
Přemek Vyhnal avatar 8.2.2009 16:17 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: C++ reference na objekt predane konstruktoru

Presne nad timhle jsem taky premyslel.. tak mozna to jeste predelam...

NO RAPTORS!
kozzi avatar 8.2.2009 16:21 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: C++ reference na objekt predane konstruktoru
Doporucuji si to predem navrhnout bud na papir, nepo zapomoci nejakyho UML nastroje. I kdyz se jedna o mensi aplikace je dobre si dopredu poradne navrhnout jednotlive objekty a vztahy mezi nimy. Protoze pak muze nastat situace kdy zjistis ze cela koncepce je nevyhovujici a jeji predelani by zanmenalo zacit od znovu, potom to dopada tak ze vymyslis ruzny triky a hacky a vysledek je ze udrzovani a rozsirovani kodu je nocni mura.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.