Kezdőoldal » Számítástechnika » Programozás » Lényegében mire jók a Construc...

Qaxqaxqax kérdése:

Lényegében mire jók a Constructorok?

Figyelt kérdés

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:



2013. máj. 3. 20:46
 1/5 anonim ***** válasza:

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ó.

2013. máj. 3. 20:50
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Köszönöm szépen(: csak nem láttam különösen nagy értelmüket:s
2013. máj. 3. 20:58
 3/5 anonim ***** válasza:
A constructor-ba olyasmit érdemes tenni, ami pl. az objektum elemeinek alapértéket ad, vagy hasonló, az ojektum számára fontos alapbeállítást végez.
2013. máj. 3. 21:05
Hasznos számodra ez a válasz?
 4/5 iostream ***** válasza:
92%

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.

2013. máj. 3. 21:49
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszi mindenkinek:D
2013. máj. 4. 14:16

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!