Bevezetés a konstruktorról és a pusztítóról a C ++-ban
- A C ++ kivitelezője és megsemmisítője jelentős szerepet játszik egy objektum-orientált programozási nyelvben, mint például a C ++. Mivel a Class és annak objektumai a C ++-ban vannak, miközben az új objektumot elkészítjük, minden alkalommal a konstruktor felhasználható az objektum inicializálására, míg amikor az objektum éppen elpusztul, a pusztító használható a szükséges utóműveletek végrehajtására.
- Amikor létrehozunk egy osztály objektumát a C ++ kategóriában, érdemes lehet inicializálni az osztály mezőit valamilyen alapértelmezett vagy bizonyos értékkel. Az osztálynak megvan a terepe és módszerei. A mezők többnyire változók vagy objektumok. Ha ezekre a mezőkre alapértelmezett értékeket rendelünk, megkönnyítjük a programozást. A konstruktor olyan, mint a normál funkció az osztályon belül, és a fordító automatikusan meghívja, amikor egy új objektumot hozunk létre az osztályban. Míg az objektum létrehozása közben ténylegesen átadjuk a szükséges értékeket argumentumként az objektumnak, ezeket az érveket átadjuk az osztály kivitelezőjének. Az argumentumértékek hozzárendelhetők a megfelelő mezőkhöz, amelyek az osztályban elérhetők. Ezenkívül alapértelmezett értékeket rendelhetünk azokhoz a mezőkhöz, ahol nem adjuk át az argumentumokat. Különféle típusok és módok léteznek, amelyekkel a konstruktort C ++ -ba inicializáljuk.
- A konstruktor olyan, mint egy osztály speciális tagfunkciója. Amikor új objektumot készítünk, a kivitelező végrehajtásra kerül. A konstruktor szintaxisa nagyon egyszerű, a függvénynek ugyanaz a neve lesz, mint az osztálynak, amelyben meghatározásra kerül, és nem lesz visszatérési típusa, sőt semmi sem. A konstruktorok nagyon hasznosak bizonyos értékek hozzárendelésében az osztály bizonyos tagjai számára. A konstruktor felhasználható az osztályhoz kapcsolódó logika végrehajtására a megvalósításkor.
A konstruktor szintaxisa
class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)
A C ++ pusztítója szintén különleges tagfunkció az osztályban. A pusztítót a fordító automatikusan meghívja, és végrehajtásra kerül, amikor az adott osztály tárgya kikerül a hatókörből, vagy törli az objektum mutatójához tartozó törlés kifejezéssel. Ha az objektumot egy fordító elpusztítja, a rombolót hívják. A pusztítóban olyan utasításokat hajthatunk végre, amelyek bármi lehet, amit végre akarunk hajtani, amikor az objektum kimegy a hatókörből. A műtét utáni műveletek, például a kapcsolatok bezárása, a fájlok bezárása stb., Néhány példa, amelyet a pusztítóban végrehajthatunk.
A pusztító szintaxisa
class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)
A pusztító szintaxisa nagyon hasonló a konstruktorhoz. Nevének ugyanaz a neve lesz, mint az osztálynak, amelyben meg van határozva, és nincs visszatérési típusa. Ennek ellenére csak ~ (tilde) jel lesz a pusztító neve előtt. Általában a pusztítót használják az osztály és tagjai számára a dinamikusan elosztott memória elhelyezésére. A destruktúrák nagyon hasznosak postai műveletek elvégzéséhez, amelyek az üzleti logika után is végrehajthatók.
Miért van szükségünk konstruktorra és pusztítóra a C ++-ban?
A C ++ objektum-orientált programozási nyelv. Bármilyen objektum-orientált programozási nyelvben az eredeti valós entitásokat leképezzük az osztálytal és az objektumokkal.
Megértjük, miért van szükség építőre és pusztítóra a C ++-ban a valós példák szerint. Tegyük fel, hogy van Entitás Boxunk, és létrehoztunk egy osztályt ehhez, és lesz olyan objektuma, amely más részekben is használható. Most a doboznak lesz bizonyos paraméterei, például magassága, hossza, szélessége stb., És amikor létrehozunk egy Box osztály objektumot, azt szeretnénk, hogy az alapértelmezett értéket vegyen fel. Tegyük fel, hogy a magasság szempontjából ezt a célt úgy lehet elérni, hogy egy adott alapértelmezett értéket hozzárendelünk a magassághoz az osztály konstruktorában. Hasonlóképpen, más paraméterekhez is értékeket lehet hozzárendelni. Miután használtuk a Box objektumát, tegyük fel, hogy azonnal akarunk valamilyen műveletet, vagy hívunk valamilyen funkciót. Ezt a Destructor használatával lehet megtenni a C ++ alkalmazásban. A szükséges utasításokat hozzáadjuk az osztály pusztítójának. Ezek a valósidejű előnyei, ha a konstruktor és a pusztító C ++-ban van.
Hogyan működnek az építők és a pusztítók a C ++-ban?
Ahogy korábban tárgyaltuk, az építőt minden fordító felhívja, amikor egy objektum létrehozásra kerül. Ha nem definiálunk konstruktort, akkor a C ++ fordító automatikusan létrehoz egy alapértelmezett konstruktort számunkra. A kivitelezőt felhasználják a memória elosztására, ha szükséges, és az osztály objektumának megépítésére, míg a pusztítót arra használják, hogy egy objektum megsemmisítésekor elvégezzék a szükséges tisztítást. A fordító automatikusan meghívja a pusztítót, amikor egy objektum megsemmisül. Ha nem definiáljuk a saját pusztítóját, akkor a C ++ fordító létrehoz egy alapértelmezett pusztítót.
Konstruktor és pusztító létrehozása a C ++ programban? (Példák)
1. Kivitelező példa
Vegyük ugyanazt a példát a Box osztályból, hogy deklaráljuk az építőt. Rendeljünk néhány alapértelmezett értéket a doboz magasságához és súlyához.
Kód
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)
Tehát minden alkalommal, amikor ezen osztály objektuma létrehozásra kerül, visszaadja a Box típusú objektumot a fentiekben megadott alapértelmezett értékekkel.
2. Pontosító példa
Amikor a Box tárgya kikerül a hatókörből, kinyomtatunk egy szöveget a konzolon a példánkban. A kódolás során bármilyen meghatározott tevékenység elvégezhető.
Kód
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)
Tehát minden alkalommal, amikor a Box tárgya kizárja a hatókört, a fordító kinyomtatja a fent leírt szöveget a konzolon.
Következtetés
Tehát a kivitelező és a romboló fontos szerepet játszik az objektum-orientált programozási nyelvben. A konstruktort az objektum inicializálására, a pusztítót pedig az objektum elpusztítására használják. A konstruktor és a pusztító is nagyon hasznos a C ++ nyelv programozásakor.
Ajánlott cikkek
Ez egy útmutató a Constructor és Destructor számára a C ++ programban. Itt tárgyaljuk a Constructor és a Destructor C ++ igényeit, a használat módját, a különböző szintaxist és a példákat. Megnézheti más kapcsolódó cikkeinket, hogy többet megtudjon-
- C ++ tömb funkciók
- Másoló konstruktor C ++-ban
- Bevezetés a C ++ -ba
- C konstruktor típusai
- Útmutató a pusztítóhoz a C # -ben
- Destructor PHP-ben példákkal