Úvod do Copy Constructor v C ++

Programovacie jazyky nám poskytujú rôzne funkcie, ktoré je možné využiť pri vývoji aplikácie. V prípade jazykov na strednej úrovni môžu byť tieto funkcie v porovnaní s jazykmi na vysokej úrovni menej, ale akékoľvek možnosti, ktoré ponúkajú, sú dostatočné na vývoj významných aplikácií. V tejto časti sa dozvieme o kópiách Constructors. Konštruktor môže byť definovaný ako špeciálna funkcia, ktorá má rovnaký názov ako trieda, v ktorej bola definovaná. Konštruktor sa volá automaticky, keď je objekt tejto triedy inicializovaný. Dalo by sa povedať, že inicializácia objektu, ak trieda implicitne volá konštruktor. Ak je konštruktor preťažený ako v tomto prípade, hodnoty musia byť odovzdané spolu s objektom pri jeho inicializácii. Tu je typ konštruktora, ktorého sa budeme učiť, veľmi jedinečný a známy ako kópia Constructor. Tento konštruktor pracuje skôr s inými objektmi ako s normálnymi hodnotami.

Ako Copy Constructor funguje v C ++?

Kopírovací konštruktor možno definovať ako špeciálny typ konštruktora, ktorý sa používa na deklarovanie objektu a jeho inicializáciu pomocou iných objektov. Normálny konštruktor zavolal pri inicializácii objektu tejto triedy. Ak je konštruktor preťažený niekoľkými parametrami ako inicializácia objektu a odovzdanie rovnakého počtu argumentov, bude volať parameter preťaženia. Pretože je konštruktor kópií preťažený, mohol by sa volať, keď je objekt inicializovaný pomocou argumentu a argument musí odovzdať skôr hodnotu objektu ako normálnu hodnotu.

Akonáhle je hodnota prijatá parametrom preťaženého konštruktora nájdená ako objekt, vyvolá sa kopírovací konštruktor a začne sa spúšťať sada príkazov definovaných v kopírovacom konštruktore. Pred použitím kopírovacieho konštruktora musíme vytvoriť objekt rovnakej triedy. Jasne sa v ňom uvádza prístup, že každý program, ktorý je určený na implementáciu konštruktora kópií, by mal mať aj predvoleného alebo parametrizovaného konštruktora, aby mohol byť vytvorený objekt, ktorý pomôže zapojiť konštruktora kópií.

Celkový scenár možno považovať za pákový efekt jedného objektu, aby sa vytvoril ďalší objekt. Všetky hodnoty spojené s objektom, ktorý sa používa na inicializáciu objektu pomocou konštruktora kópií, sa pridelia novo inicializovanému objektu. To znamená, že ak hodnotu ľubovoľnej premennej použije prvý objekt, tú istú premennú môže použiť aj objekt, ktorý je inicializovaný tvorcom kópie. Funkcia kopírovacieho konštruktora je považovaná za veľmi dôležitú a robí vývoj veľmi pohodlným pre niektoré aplikácie. Jeho vlastnosti na použitie odkazu na objekt tej istej triedy pomáhajú pri vývoji aplikácie, ktorá má požiadavku, ktorú možno splniť iba pomocou konštruktora kópií. Aj keď nie je využívaný tak často ako predvolený alebo parametrizovaný konštruktor, je dosť sily prispievať k pridávaniu nových funkcií do aplikácie.

príklad

Pozrime sa na príklad pojmu zhotoviteľ kópií. Tu budeme pracovať na jednoduchom príklade, ktorý vám ukáže, ako funguje kopírovací konštruktor a ako má prístup k hodnotám, ktoré boli spojené s objektom, pomocou ktorého je nový objekt vytváraný kopírovacím strojom vytvorený. Nižšie uvedený obrázok vám poskytne predstavu o tom, ako je odlišné volať konštruktérovi kópie v porovnaní s volaním normálneho preťaženého konštruktora.

Program

#include
using namespace std;
class Check
(
public:
int val;
Check(int a)
(
val=a;
)
Check(Check &i)
(
val = i.val;
)
);
int main()
(
int add_val;
Check a1(50);
Check a2(a1);
add_val = a2.val + 10;
cout< )
#include
using namespace std;
class Check
(
public:
int val;
Check(int a)
(
val=a;
)
Check(Check &i)
(
val = i.val;
)
);
int main()
(
int add_val;
Check a1(50);
Check a2(a1);
add_val = a2.val + 10;
cout< )

V tomto programe sme nazvali parametrizovaný konštruktor obchádzaním argumentu prostredníctvom a1. Predaná hodnota je celé číslo, pretože parametrizovaný konštruktor bol definovaný tak, aby akceptoval iba celé číslo. Keď je hodnota 50 odovzdaná konštruktorovi, hodnota bola priradená premennej s názvom var. Potom bol objekt a1 odovzdaný konštruktorovi kópií prostredníctvom a2. Len čo konštruktér kópie prijme odkaz na objekt, spojil hodnotu priradenú s prvým objektom s novo vytvoreným objektom. Toto je jednoduchý príklad na vysvetlenie pojmu tvorca kópií. Dalo by sa použiť v niekoľkých ďalších programoch na získanie rôznych funkcií v aplikácii.

Výkon:

60

Pravidlá a predpisy pre tvorcu kópií v jazyku C ++

Kopírovací konštruktor sa považuje za trochu odlišný od predvoleného alebo parametrizovaného konštruktora. Na jednej strane, ak normálny konštruktor pracuje s hodnotou bežného dátového typu, na druhej strane kopírovací konštruktor pracuje s použitím predtým vytvoreného objektu rovnakej triedy. Pri používaní kopírovacieho konštruktora je potrebné zabezpečiť, aby sa parametre, ktoré prechádzajú kopírovacím konštruktorom, mali používať spolu so znakom ampersand (&), pretože ide o špeciálny znak, ktorý sa používa na udržanie referencie na objekt. Ak sa ampersand nepoužije pri implementácii konštruktora kópií, nebude to viac ako konštruktor kópií, ale automaticky sa bude považovať za parametrizovaný konštruktor.

Pokiaľ ide o volanie konštruktora kópií, musíme sa uistiť, že hodnota odovzdaná ako argumenty by mala obsahovať odkaz na objekt, a nie akúkoľvek hodnotu, ktorá patrí do bežného dátového typu. Pri implementácii kopírovacieho konštruktora v programovacom jazyku C ++ je potrebné brať do úvahy veľmi málo vecí. Zakaždým, keď použijeme konštruktéra kópií, musíme sa ubezpečiť, že ho správne odlišujeme od parametrizovaného konštruktora, pretože jeho zlyhanie úplne zmení funkčnosť programu a povedie k nesprávnemu vygenerovaniu výstupu.

záver

Konštruktor kópie sa považuje za špeciálny konštruktor, ktorý pracuje s odkazom na objekt rovnakej triedy. Používa sa na privedenie niekoľkých funkcií do aplikácie. V porovnaní s predvoleným konštruktorom sa kopírovací konštruktor v jednoduchých programoch veľmi často nepoužíva, ale pokiaľ ide o vývoj zložitých aplikácií, ktoré je potrebné nasadiť v produkčnom prostredí, používa sa tam konštruktor kópií a vývoj aplikácií je celkom pohodlný.,

Odporúčané články

Toto je príručka pre kopírovanie konštruktorov v C ++. Tu diskutujeme úvod a spôsob fungovania Copy Constructor v C ++ spolu s pravidlami a predpismi pre Copy Constructor v C ++. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Kopírovanie Constructor v Jave
  2. Kopírovať konštruktor v jazyku C #
  3. Konštruktor v C ++
  4. Použitie konštruktora v C
  5. Typy konštruktorov v jazyku C # s implementáciou kódu

Kategórie: