Introduktion til Copy Constructor i C ++

Programmeringssprogene giver os forskellige funktioner, der kan udnyttes til at udvikle applikationen. Når det gælder sprog på mellemniveau, kan funktionerne muligvis være mindre sammenlignet med sprog på højt niveau, men uanset hvilke muligheder de tilbyder er rigelig til at udvikle betydelige applikationer. I dette afsnit lærer vi om kopi-konstruktører. Konstruktøren kan defineres som den specielle funktion, der har navnet som det samme som for den klasse, hvori der er defineret. Konstruktøren kaldes automatisk, når objektet i den klasse initialiseres. Det kan siges, at initialisering af objektet, hvis klassen implicit kalder konstruktøren. Hvis konstruktøren er overbelastet end i dette tilfælde, skal værdierne overføres sammen med objektet, mens det initialiseres. Her er den type konstruktør, vi lærer, meget unik og kendt som copy Constructor. Denne konstruktør fungerer ved hjælp af andre objekter snarere end normale værdier.

Hvordan fungerer Copy Constructor i C ++?

Copy Constructor kan defineres som den specielle type konstruktør, der bruges til at erklære objektet og initialisere det samme ved hjælp af andre objekter. Den normale konstruktør kaldes, når objektet i den klasse initialiseres. Hvis konstruktøren er overbelastet med flere parametre end at initialisere objektet og passere det samme antal argumenter, kaldes overbelastningsparameteren. Da kopi-konstruktør er den overbelastede, så det kunne kaldes, når objektet initialiseres ved hjælp af argumentet, og argumentet skal passere objektværdien snarere end enhver normal værdi.

Når den værdi, der er modtaget af parameteren for den overbelastede konstruktør, er fundet et objekt, kaldes kopikonstruktøren, og sæt af sætninger, der er defineret i kopikonstruktøren, begynder at udføre. Inden vi bruger kopi-konstruktør, skal vi oprette et objekt i samme klasse. Det angiver klart den tilgang, at ethvert program, der er beregnet til at implementere kopikonstruktor, også skal have en standard- eller parametreret konstruktør, så objektet kan oprettes, hvilket vil hjælpe med at involvere kopikonstruktøren.

Det overordnede scenarie kan betragtes som at udnytte et objekt for at skabe et andet objekt. Alle værdier, der er bundet til det objekt, der bruges til at initialisere objektet med kopiekonstruktør, tildeles det nyligt initialiserede objekt. Det betyder, at hvis værdien af ​​en hvilken som helst variabel bruges af det første objekt, kan den samme variabel bruges af det objekt, der initialiseres af kopikonstruktøren. Funktionen af ​​kopikonstruktør betragtes som meget vigtig og gør udvikling meget praktisk til nogle applikationer. Dens funktioner til at bruge objektreferencen i samme klasse hjælper med at udvikle den applikation, der har kravet, som kun kan opfyldes ved hjælp af kopikonstruktøren. Selvom det ikke er gearet så ofte som standard- eller parameterkonstruktøren, er det rigelig kraft til at bidrage til at tilføje ny funktionalitet til applikationen.

Eksempel

Lad os forstå begrebet kopiekonstruktør ved hjælp af eksemplet. Her vil vi arbejde på et simpelt eksempel, der viser dig, hvordan kopikonstruktøren fungerer, og hvordan den kan få adgang til de værdier, der var bundet til objektet, som det nye objekt oprettes af kopiekonstruktøren. Nedenstående illustration giver dig en idé om, hvordan det er anderledes at kalde kopikonstruktøren sammenlignet med at kalde den normale overbelastede konstruktør.

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< )

I dette program har vi kaldt den parametriserede konstruktør ved at omgå argumentet gennem a1. Den overførte værdi er et heltal, da den parameteriserede konstruktør kun er defineret til at acceptere heltal. Når værdien 50 overføres til konstruktøren, er værdien tildelt den variabel, der hedder var. Derefter er objektet a1 sendt til kopi-konstruktøren gennem a2. Når objektreferencen er modtaget af kopiekonstruktøren, bundede den værdien, der er tildelt det første objekt, med det nyligt dannede objekt. Dette er et simpelt eksempel til at forklare konceptet med kopi-konstruktøren. Det kunne bruges i flere andre programmer til at få forskellige funktionaliteter i applikationen.

Produktion:

60

Regler og regulering for kopikonstruktør i C ++

Copy Constructor betragtes som en smule anderledes end standard- eller parameterkonstruktøren. På den ene side, hvor den normale konstruktør fungerer ved hjælp af værdien af ​​fælles datatype, på den anden side kopierer konstruktøren ved hjælp af det tidligere oprettede objekt i samme klasse. Det, der skal sikres, mens man bruger kopikonstruktor, er, at parametrene, der passeres gennem kopikonstruktøren, skal bruges sammen med et ampersand (&) -skilt, da det er en speciel karakter, der bruges til at holde objektreferencen. Hvis ampersand ikke bruges under implementering af kopikonstruktøren, vil det ikke længere være en kopikonstruktør, men vil automatisk blive betragtet som en parameteriseret konstruktør.

Når det kommer til at kalde kopikonstruktøren, er vi nødt til at sikre, at den værdi, der overføres som argumenter, skal bære objektreferencen snarere end enhver værdi, der hører til den almindelige datatype. Dette er de få ting, der skal overvejes meget skarpt, mens implementering af kopikonstruktør i programmeringssprog C ++. Hver gang vi bruger kopikonstruktøren, er vi også nødt til at sikre, at vi adskiller den ordentligt fra den parameteriserede konstruktør, da dette ikke fuldstændigt ændrer programmets funktionalitet og vil føre til forkert produktion af output.

Konklusion

Kopikonstruktøren betragtes som en speciel slags konstruktør, der fungerer ved hjælp af objektreferencen i samme klasse. Det bruges til at bringe flere funktionaliteter i applikationen. Sammenlignet med standardkonstruktøren bruges kopikonstruktøren ikke så ofte i de enkle programmer, men når det kommer til at udvikle komplekse applikationer, der skal implementeres i produktionsmiljøet, bruges kopiekonstruktøren der og gør applikationsudvikling temmelig praktisk .

Anbefalede artikler

Dette er en guide til Copy Constructors i C ++. Her diskuterer vi introduktionen og hvordan Copy Constructor fungerer i C ++ sammen med regler og regulering af Copy Constructor i C ++. Du kan også se på de følgende artikler for at lære mere -

  1. Kopier konstruktør i Java
  2. Kopiér konstruktør i C #
  3. Konstruktør i C ++
  4. Brug af konstruktør i C
  5. Konstruktortyper i C # med kodeimplementering

Kategori: