Lényegében mire jók a Constructorok?
Az érdekelne, hogy miben jobb mint egy sima függvény és milyen helyzetben érdemes ezt használni illetve, hogy mikor lehet csak ezt? pl.: példával
Köszi előre is a válaszokat C:
A konstruktor mindig egy objektum létrehozásakor futnak le, tehát olyan műveleteket érdemes betenni, amire ekkor, és csak ekkor van szükség. Például inicializálja az objektumot.
A többi függvény (metódus) máskor (is) meghívható.
Magasabb szintről nézve: a konstruktor dolga, hogy egy valid alapállapotba kerüljön az objektum, tehát amikor használhatóvá, hozzáférhetővé válik, akkor már biztosan teljesüljön az invariánsa.
Technikai szintről nézve: azért jó a konstruktor, mert automatikusan lefut az objektum létrehozásakor, így nem fogod elfelejteni, mint ahogy egy init függvényt elfelejthetsz. Valamint C++-ban van néhány eset, amikor kénytelen vagy a konstruktor inicializáló listájában, azaz a konstruktor törzse előtt. Ilyen a referencia, a konstans és az olyan tagváltozók, amiknek nincs default konstruktora (de ha van, akkor is érdemes a megfelelő értékre inicializálni, nem hagyni default és aztán felülvágni). Ugyanis ha bent vagy a konstruktorban, akkor MINDEN tagváltozó és ősosztály már inicializálva van.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!