Uvod v program za kopiranje v C ++

Programski jeziki nam ponujajo različne funkcije, ki jih lahko uporabimo za razvoj aplikacije. V primeru jezikov srednje ravni so funkcije morda manjše v primerjavi z jeziki na visoki ravni, vendar ne glede na možnosti, ki jih ponujajo, je dovolj za razvoj pomembnih aplikacij. V tem razdelku bomo spoznavali gradnike kopij. Konstruktor je lahko opredeljen kot posebna funkcija, ki ima ime kot ime razreda, v katerem je bilo določeno. Konstruktor se pokliče samodejno, ko se objekt tega razreda inicializira. Lahko bi rekli, da inicializiranje predmeta, če razred implicitno pokliče konstruktor. Če je konstruktor preobremenjen, je treba vrednosti v tem primeru posredovati skupaj s objektom, medtem ko ga inicializirate. Tu je vrsta konstruktorja, ki se ga bomo učili, zelo edinstven in znan pod imenom Constructor copy. Ta konstruktor deluje z drugimi predmeti in ne z običajnimi vrednostmi.

Kako deluje program Copy Constructor v C ++?

Konstruktorja kopiranja je mogoče opredeliti kot posebno vrsto konstruktorja, ki se uporablja za razglasitev predmeta in inicializacijo istega z uporabo drugih predmetov. Običajni konstruktor pokliče, ko se objekt tega razreda inicializira. Če je konstruktor preobremenjen z več parametri, kot je inicializiranje predmeta in posredovanje istega števila argumentov, bo poklical parameter preobremenitve. Ker je konstruktor kopij preobremenjen, ga je mogoče poklicati, ko se objekt inicializira z argumentom in mora argument prenesti vrednost predmeta namesto katere koli običajne vrednosti.

Ko vrednost, prejeto s parametrom preobremenjenega konstruktorja, najde objekt, se pokliče konstruktor kopiranja in niz stavkov, definiran v konstruktorju kopiranja, začne izvajati. Pred uporabo konstruktorja kopiranja moramo ustvariti predmet istega razreda. Jasno je zapisan pristop, da bi moral vsak program, ki je namenjen izvajanju konstruktorja kopij, imeti tudi privzeti ali parametriziran konstruktor, da bi lahko ustvarili objekt, ki bo pomagal pri vključevanju konstruktorja kopiranja.

Celoten scenarij se lahko šteje za izkoriščanje enega predmeta za ustvarjanje drugega predmeta. Vse vrednosti, povezane z objektom, ki se uporabi za inicializacijo predmeta s pomočjo konstruktorja kopij, se dodelijo novo inicializiranemu predmetu. To pomeni, če prvi element uporablja vrednost katere koli spremenljivke, lahko isti spremenljivko uporabi objekt, ki ga inicializira konstruktor kopiranja. Funkcija konstruktorja kopij velja za zelo pomembno in omogoča razvoj zelo priročnega za nekatere aplikacije. Njegove lastnosti uporabe referenčnega predmeta istega razreda pomagajo pri razvoju aplikacije, ki ima zahtevo, ki jo je mogoče izpolniti samo s konstruktorjem kopiranja. Čeprav ne uporabljamo tako pogosto kot privzeti ali parametrizirani konstruktor, lahko z veliko moči prispevamo k dodajanju nove funkcionalnosti v aplikacijo.

Primer

Poglejmo koncept konstruktorja kopij na primeru. Tu bomo delali na preprostem primeru, ki vam bo pokazal, kako deluje konstruktor kopiranja in kako lahko dostopa do vrednosti, ki so bile vezane na predmet, s pomočjo katerega novi objekt ustvari konstruktor kopiranja. Spodnja ilustracija vam bo predstavila, kako je drugače imenovati konstruktor kopiranja v primerjavi s klicanjem običajnega preobremenjenega konstruktorja.

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 tem programu smo poklicali parametriziran konstruktor, ki je mimo argumenta skozi a1. Vrednost, ki je bila poslana, je celo število, saj je bilo definirano, da je parametriziran konstruktor sprejel samo celo število. Ko je vrednost 50 posredovana konstruktorju, je bila vrednost dodeljena spremenljivki z imenom var. Nato je predmet a1 posredovan konstruktorju kopij preko a2. Ko konstruktor kopiranja prejme referenco na objekt, je vrednost, dodeljeno prvemu objektu, vezala z novo oblikovanim objektom. To je preprost primer za razlago koncepta konstruktorja kopij. Lahko bi ga uporabili v več drugih programih, da bi v aplikaciji dobili različne funkcionalnosti.

Izhod:

60

Pravila in pravila za konstruktor kopij v C ++

Copy Constructor velja za nekoliko drugačno od privzetega ali parametriziranega konstruktorja. Na eni strani, kjer običajni konstruktor deluje z uporabo vrednosti skupnega podatkovnega tipa, na drugi strani konstruktor kopiranja deluje s predhodno ustvarjenim objektom istega razreda. Pri uporabi konstruktorja kopij je treba zagotoviti, da je treba parametre, ki jih prepeljete skozi konstruktor kopiranja, uporabiti skupaj z znakom ampersand (&), saj gre za poseben znak, ki se uporablja za zadrževanje reference predmeta. Če se ampersand ne uporablja med izvajanjem konstruktorja kopiranja, ne bo več konstruktor kopij, ampak bo samodejno obravnavan kot konstruiran s parametri.

Kadar gre za klicanje konstruktorju kopij, moramo poskrbeti, da mora vrednost, podana kot argumenti, vsebovati referenco predmeta, ne pa katero koli vrednost, ki pripada skupnemu tipu podatkov. To je nekaj stvari, ki jih je treba pri izvajanju konstruktorja kopij v programskem jeziku C ++ obravnavati zelo ostro. Prav tako moramo vsakič, ko uporabimo konstruktor kopiranja, poskrbeti, da ga pravilno ločimo od parametriziranega konstruktorja, saj v nasprotnem primeru to popolnoma spremeni funkcionalnost programa in povzroči napačno ustvarjanje izhoda.

Zaključek

Konstruktor kopiranja velja za posebno vrsto konstruktorja, ki deluje z referenco predmetov istega razreda. Uporablja se za vnašanje več funkcionalnosti v aplikacijo. Če ga primerjamo s privzetim konstruktorjem, se konstruktor kopij ne uporablja zelo pogosto v preprostih programih, ko pa gre za razvoj zapletenih aplikacij, ki jih je treba namestiti v proizvodnem okolju, se tam uporabi koperator in prav tako je razvoj aplikacij precej priročen .

Priporočeni članki

To je vodnik za Kopiranje konstruktorjev v C ++. Tukaj razpravljamo o uvodu in kako deluje program za kopiranje v C ++, skupaj s pravili in predpisi za konstruktor kopij v C ++. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Kopiraj konstruktor v Javi
  2. Kopiraj konstruktor v C #
  3. Konstruktor v C ++
  4. Uporaba Constructorja v C
  5. Vrste konstruktorjev v C # z izvajanjem kode