Konstruktor és romboló a C ++-ban Szükséges, felhasználható szintaxis és példák

Tartalomjegyzék:

Anonim

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-

  1. C ++ tömb funkciók
  2. Másoló konstruktor C ++-ban
  3. Bevezetés a C ++ -ba
  4. C konstruktor típusai
  5. Útmutató a pusztítóhoz a C # -ben
  6. Destructor PHP-ben példákkal