Introduksjon til Copy Constructor i C ++

Programmeringsspråkene gir oss forskjellige funksjoner som kan utnyttes til å utvikle applikasjonen. Når det gjelder språk på mellomnivå, kan funksjonene være mindre sammenlignet med høynivåspråk, men uansett hvilke alternativer de tilbyr er rikelig med å utvikle betydelige applikasjoner. I dette avsnittet skal vi lære om kopibyggere. Konstruktøren kan defineres som den spesielle funksjonen som har navnet som det samme som den for klassen som er definert. Konstruktøren ringes automatisk når objektet til den klassen initialiseres. Det kan sies at å initialisere objektet hvis klassen implisitt kaller konstruktøren. Hvis konstruktøren er overbelastet enn i så fall, må verdiene føres sammen med objektet mens den initialiseres. Her er typen konstruktør vi skal lære veldig unik og kjent som copy Constructor. Denne konstruktøren jobber med andre objekter i stedet for normale verdier.

Hvordan fungerer Copy Constructor i C ++?

Copy Constructor kan defineres som den spesielle typen konstruktør som brukes til å deklarere objektet og initialisere det ved hjelp av andre objekter. Den normale konstruktøren ringte når objektet til den klassen initialiseres. Hvis konstruktøren er overbelastet med flere parametere enn å initialisere objektet og passere det samme antallet argumenter, kaller vi overbelastningsparameteren. Ettersom kopikonstruktør er den overbelastede, så det kan kalles når objektet initialiseres ved bruk av argumentet og argumentet må passere objektverdien i stedet for normal verdi.

Når verdien mottatt av parameteren til den overbelastede konstruktøren er funnet et objekt, vil kopikonstruktøren bli kalt og settet med utsagn definert i kopikonstruktøren vil utføre. Før vi bruker kopikonstruktør, må vi lage et objekt av samme klasse. Den angir tydelig tilnærmingen at ethvert program som er ment å implementere copy-constructor også skal ha en standard eller parameterisert konstruktør slik at objektet kan opprettes som vil hjelpe til med å involvere copy-constructor.

Det overordnede scenariet kan betraktes som å utnytte ett objekt for å lage et annet objekt. Alle verdiene som er bundet til objektet som blir brukt til å initialisere objektet med kopikonstruktør, blir tildelt det nylig initialiserte objektet. Det betyr at hvis verdien til en hvilken som helst variabel brukes av det første objektet, kan den samme variabelen brukes av objektet som er initialisert av kopikonstruktøren. Funksjonen til kopikonstruktør anses som veldig viktig og gjør utviklingen veldig praktisk for noen applikasjoner. Funksjonene for å bruke objektreferansen til samme klasse hjelper deg med å utvikle applikasjonen som har kravet som bare kan oppfylles ved hjelp av kopikonstruktøren. Selv om den ikke er utnyttet så ofte som standard eller parameterisert konstruktør, er det rikelig med kraft til å bidra til å legge til ny funksjonalitet til applikasjonen.

Eksempel

La oss forstå konseptet kopikonstruktør ved å bruke eksemplet. Her skal vi jobbe med et enkelt eksempel som viser deg hvordan kopikonstruktøren fungerer og hvordan den kan få tilgang til verdiene som ble bundet til objektet som det nye objektet er opprettet av kopikonstruktøren. Illustrasjonen nedenfor gir deg en ide om hvordan det er annerledes å ringe kopibyggeren enn å kalle den normale overbelastede konstruktøren.

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 programmet har vi kalt den parameteriserte konstruktøren ved å omgå argumentet gjennom a1. Verdien som er gitt er et helt tall ettersom den parameteriserte konstruktøren bare er definert for å akseptere heltall. Når verdien 50 sendes til konstruktøren, er verdien tilordnet variabelen som heter var. Deretter er objektet a1 ført til kopi-konstruktøren gjennom a2. Når objektreferansen er mottatt av kopikonstruktøren, bundet den verdien tildelt det første objektet med det nydannede objektet. Dette er et enkelt eksempel for å forklare konseptet til kopikonstruktøren. Det kan brukes i flere andre programmer for å få forskjellige funksjoner i applikasjonen.

Produksjon:

60

Regler og reguleringer for kopikonstruktør i C ++

Copy Constructor anses som litt forskjellig fra standard eller parameterisert konstruktør. På den ene siden, der den normale konstruktøren fungerer ved å bruke verdien av vanlig datatype, på den andre siden, kopierer konstruktøren fungerer ved å bruke det tidligere opprettede objektet av samme klasse. Det som må sikres når du bruker kopikonstruktør er at parametrene som sendes gjennom kopikonstruktøren skal brukes sammen med et ampersand (&) -skilt, da det er et spesialtegn som brukes til å holde objektreferansen. Hvis ampersand ikke brukes under implementering av copy-constructor, vil den ikke lenger være en copy-constructor, men vil automatisk bli betraktet som en parameterisert konstruktør.

Når det gjelder å ringe kopikonstruktøren, må vi sørge for at verdien som er gitt som argumenter skal bære objektreferansen i stedet for noen verdi som hører til vanlig datatype. Dette er de få tingene som må vurderes veldig skarpt mens du implementerer copy constructor på programmeringsspråket C ++. Hver gang vi bruker kopikonstruktøren, må vi også sørge for at vi skiller den ordentlig fra den parameteriserte konstruktøren, fordi dette ikke vil endre funksjonaliteten til programmet og føre til feil produksjon.

Konklusjon

Kopikonstruktøren anses som en spesiell type konstruktør som fungerer ved å bruke objektreferansen til samme klasse. Den brukes til å bringe flere funksjoner i applikasjonen. Sammenlignet med standardkonstruktøren brukes ikke kopikonstruktøren veldig ofte i de enkle programmene, men når det gjelder å utvikle komplekse applikasjoner som må distribueres i produksjonsmiljøet, brukes kopikonstruktøren der og gjør også applikasjonsutvikling ganske praktisk .

Anbefalte artikler

Dette er en guide til Copy Constructors i C ++. Her diskuterer vi introduksjonen og Hvordan Copy Constructor Works i C ++ sammen med regler og regulering for Copy Constructor i C ++. Du kan også se på følgende artikler for å lære mer -

  1. Kopier konstruktør i Java
  2. Copy Constructor i C #
  3. Konstruktør i C ++
  4. Bruk av konstruktør i C
  5. Typer konstruktør i C # med kodeimplementering