Uvod u Konstruktor kopiranja u C ++

Programski jezici nude nam razne značajke koje se mogu koristiti za razvoj aplikacije. U slučaju jezika srednje razine, značajke mogu biti manje u usporedbi s jezicima visoke razine, ali sve mogućnosti koje nude dovoljne su za razvoj značajnih aplikacija. U ovom ćemo dijelu naučiti o kopiranju Konstruktora. Konstruktor se može definirati kao posebna funkcija koja ima isto ime kao i klasa u kojoj je definirana. Konstruktor se poziva automatski kada se objekt te klase inicijalizira. Moglo bi se reći da inicijalizacija objekta ako klasa implicitno poziva konstruktor. Ako je konstruktor preopterećen, tada se vrijednosti moraju proslijediti zajedno s objektom tijekom inicijalizacije. Ovdje je vrsta konstruktora kojeg ćemo učiti vrlo jedinstvena i poznata kao copy Constructor. Ovaj konstruktor radi koristeći druge objekte, a ne uobičajene vrijednosti.

Kako program za kopiranje funkcionira na C ++?

Konstruktor kopiranja može se definirati kao posebna vrsta konstruktora koji se koristi za deklariranje objekta i inicijalizaciju istog pomoću drugih objekata. Normalni konstruktor koji se zove kada se objekt te klase inicijalizira. Ako je konstruktor preopterećen s više parametara nego što inicijalizira objekt i prosljeđuje isti broj argumenata, pozvat će se parametar preopterećenja. Kako je konstruktor kopiranja preopterećen, tako se može pozvati kada se objekt inicijalizira pomoću argumenta i argument mora prijeći vrijednost objekta, a ne bilo koju normalnu vrijednost.

Jednom kada vrijednost primljena parametrom preopterećenog konstruktora bude pronađena, konstruktor kopiranja će se pozvati i skup iskaza definiranih u konstruktoru kopiranja počet će se izvršavati. Prije upotrebe konstruktora kopiranja moramo stvoriti objekt iste klase. Jasno se navodi pristup da svaki program koji je namijenjen implementaciji konstruktora kopiranja također treba imati zadani ili parametrizirani konstruktor kako bi se mogao stvoriti objekt koji će pomoći u uključivanju konstruktora kopiranja.

Cjelokupni scenarij može se smatrati korištenjem jednog objekta u cilju stvaranja drugog objekta. Sve vrijednosti povezane s objektom koji se koristi za inicijalizaciju objekta pomoću konstruktora kopiranja dodjeljuju se novo inicijaliziranom objektu. To znači da ako vrijednost prvog varijabla koristi prvi objekt, istu varijablu može upotrijebiti objekt koji inicijalizira konstruktor kopiranja. Značajka konstruktora kopiranja smatra se vrlo važnom i čini razvoj vrlo prikladnim za neke aplikacije. Njegove karakteristike za korištenje referenci objekta iste klase pomažu u razvoju aplikacije koja ima zahtjev koji se može ispuniti samo pomoću konstruktora kopiranja. Iako se ne koristi tako često kao zadani ili parametrizirani konstruktor, dovoljno je snage da doprinese dodavanju nove funkcionalnosti u aplikaciju.

Primjer

Razjasnimo pojam konstruktora kopiranja pomoću primjera. Ovdje ćemo raditi na jednostavnom primjeru koji će vam pokazati kako radi konstruktor kopiranja i kako može pristupiti vrijednostima koji su bili vezani za objekt pomoću kojeg novi objekt stvara konstruktor kopiranja. Ilustracija u nastavku dat će vam predodžbu o tome kako je drugačije nazvati konstruktor kopiranja u usporedbi s nazivanjem normalnog preopterećenog konstruktora.

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

U ovom smo programu nazvali parametrizirani konstruktor zaobilazeći argument kroz a1. Provedena vrijednost je cijeli broj jer je parametrizirani konstruktor definiran da prihvaća samo cijeli broj. Kad se vrijednost 50 prenese konstruktoru, vrijednost je dodijeljena varijabli nazvanoj var. Zatim je objekt a1 proslijedio konstruktoru kopiranja kroz a2. Nakon što referencu objekta primi konstruktor kopiranja, on je vežu vrijednost dodijeljenu prvom objektu novoformiranom objektu. Ovo je jednostavan primjer za objašnjenje koncepta konstruktora kopiranja. Može se koristiti u nekoliko drugih programa za dobivanje različitih funkcionalnosti u aplikaciji.

Izlaz:

60

Pravila i propisi za konstrukciju kopija u jeziku C ++

Konstruktor kopiranja smatra se malo drugačijim od zadanog ili parametriziranog konstruktora. S jedne strane, gdje normalan konstruktor radi koristeći vrijednost uobičajenog tipa podataka, s druge strane, konstruktor kopiranja radi koristeći prethodno stvoreni objekt iste klase. Ono što mora biti osigurano tijekom korištenja konstruktora kopiranja, parametri koji prolaze kroz konstruktor kopiranja trebaju se upotrijebiti zajedno s znakom ampersand (&), jer je to poseban znak koji se koristi za zadržavanje reference objekta. Ako se prilikom implementacije konstruktora kopiranja ne koristi ampersand, više neće biti konstruktor kopiranja, nego će se automatski smatrati parametriranim konstruktorom.

Kad je riječ o pozivu konstruktora kopiranja, moramo se pobrinuti da vrijednost proslijeđena kao argumenti treba sadržavati referencu objekta, a ne bilo koju vrijednost koja pripada uobičajenom tipu podataka. Ovo su nekoliko stvari koje je potrebno pažljivo razmotriti tijekom implementacije konstruktora kopiranja na programskom jeziku C ++. Također, svaki put kada koristimo konstruktor kopiranja, moramo se pobrinuti da ga pravilno razlikujemo od parametriziranog konstruktora jer u suprotnom to će u potpunosti promijeniti funkcionalnost programa i dovesti do pogrešne generiranja izlaza.

Zaključak

Konstruktor kopiranja smatra se posebnom vrstom konstruktora koji djeluje koristeći referencu objekta iste klase. Koristi se za donošenje nekoliko funkcionalnosti u aplikaciji. Ako se uspoređuje sa zadanim konstruktorom, konstruktor kopiranja ne koristi se često u jednostavnim programima, ali kada je riječ o razvoju složenih aplikacija koje se moraju implementirati u proizvodnom okruženju, konstruktor kopiranja koristi se tamo i također čini razvoj aplikacija prilično prikladnim,

Preporučeni članci

Ovo je vodič za kopiranje konstruktora u C ++. Ovdje smo raspravljali o uvodu i kako Konstruktor kopiranja djeluje na C ++, zajedno s Pravilima i Uredbom za Konstruktor kopiranja u C ++. Možete pogledati i sljedeće članke da biste saznali više -

  1. Kopiraj konstruktor u Javu
  2. Kopiraj konstruktor u C #
  3. Konstruktor u C ++
  4. Upotreba konstruktora u C
  5. Vrste konstruktora u C # s implementacijom koda

Kategorija: