Kezdőoldal » Számítástechnika » Programozás » C++ Hogyan hozok létre nagy...

C++ Hogyan hozok létre nagy mennyiségű objektumot?

Figyelt kérdés

Azt szeretném megoldani, hogy a példányosításnál a program adja meg a létrehozott objektumok neveit. Ezt hogyan tehetem meg?

Tehát mondjuk van egy játékom, ahol bizonyos események hatására szörnyek manifesztálódnak és a szörnyek viselkedését egy osztály határozza meg. Az osztály neve mondjuk legyen Szorny, az objektumok meg olyan neveken jöjjenek létre hogy SzornyPl1, SzornyPl2, ... SzornyPl1024. Milyen megoldások léteznek erre? Az elnevezéseket lehet mondjuk egy számláló integer tömbhöz kötni?

Jahm és még egy kérdés: Hogyan törlök egy objektumot a memóriából?


2011. dec. 26. 19:48
 1/4 anonim ***** válasza:
tömbbe rakd őket, sztem egyszerűbb a kezelése mint nevek alapján (főleg ciklusok esetén, pl. amikor van szörny10 és szörny12, de szörny11 már halott, ezeket mind külön vizsgálni... megoldható, csak macerás, meg sok hibalehetőséget hordoz magában)
2011. dec. 26. 20:05
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Az objektumok törlése a

delete név;

illetve

delete[] tömbnév;

módon lehetséges.

Ez meghívja a destruktort, ami megszünteti az objektumot.


Az egyes létrejövő objektumokat a konstruktorban inicializálhatod. Legyen egy számláló, ami számolja a szörnyeket, és ezt az értéket stringként kell hozzáfűzni a névhez.

2011. dec. 26. 20:08
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
A szorny osztalyodnak van egy name tulajdonsaga. Ciklus -> szornyeket csinalsz -> megadod a name tulajsonsagukat -> belerakod egy tombbe
2011. dec. 26. 22:13
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Map template-el ami egy kereső fa ami key value párokat tárol. "Sorszámozhatod" akár string-el is az objektumakat. Tekinthető a tömb általánosításának is.

C++-ban meg lehet csinálni hogy így hivatkozz egy szörny objektumra: t["szörny1"] ha t egy Map template segítségével léterhozott absztrakt tömb. (Utána kéne nézni, rég c++-oztam) Lehet hogy alapból nem tudja így a map de akkor egy operator overloading-al megoldható.

2011. dec. 26. 22:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!