Constructori de clasă C ++

C Class Constructors



Constructorii sunt ca niște funcții. Acestea sunt utilizate pentru a inițializa valorile și obiectele clasei. Acești constructori sunt inițiați atunci când este creat obiectul unei clase. Constructorul nu returnează nicio valoare direct. Pentru a obține valoarea constructorului, trebuie să descriem o funcție separată, deoarece constructorul nu are niciun tip de returnare. Constructorul diferă de funcția simplă în diferite moduri. Un constructor este creat atunci când obiectul este generat. Este definit în segmentul public al clasei.

În acest articol, vom dezbate toate aceste tipuri de constructori cu exemple.







Exemplul 1

Aceasta este o ilustrare a unui constructor implicit. După cum știm că constructorii sunt creați automat în mod automat atunci când creăm un obiect al unei clase. Aceasta se numește creație implicită. Constructorii au același nume care este numele clasei. Luați în considerare un fișier care are codul c ++ al constructorului, deoarece știm că clasa are două opțiuni, privată și publică. Partea privată conține variabilele de date, în timp ce partea publică este pentru funcțiile recuperate de orice obiect. Deci constructorul este definit și în partea publică.



Întreg()

{

X=cincizeci;

și=douăzeci;

};

În acest constructor, valorile sunt atribuite variabilelor. Dacă dorim să preluăm valorile ca ieșire, trebuie să le imprimăm în programul principal.







După definirea constructorului, clasa este închisă. Când intrăm în programul principal, vom prelua valorile folosind un obiect. Obiectul accesează întotdeauna constructori, deoarece acestea sunt părțile clasei. Crearea obiectelor este atât de simplă. Se face prin introducerea acestuia cu numele clasei. Acesta este un număr întreg în acest exemplu. Valoarea va fi preluată prin metoda punct. adică a.x.

Putem vedea ieșirea codului sursă de la terminal în Ubuntu. Abordarea utilizată pentru obținerea rezultatului este destul de ușoară. În primul rând, codul este compilat și apoi este executat. Folosim compilatorul G ++ pentru procesul de compilare. La fel ca în cazul lui C, folosim GCC.



$ G++ -sau filec filec.c

./filec

-O este folosit pentru a salva ieșirea în fișier.

Exemplul 2

În această ilustrație, vom explica constructorii parametrizați. Spre deosebire de exemplul anterior, putem transmite argumentele și constructorilor din programul principal. Când obiectul este generat, aceste valori sunt transmise automat variabilelor prezente în constructor pentru a primi valoarea. Unele dintre utilizările constructorilor parametrizati sunt.

  • Se utilizează pentru inițializarea diferitelor variabile cu valori diferite în interiorul constructorilor atunci când este inițializată.
  • Este utilizat în supraîncărcarea constructorului. Este definit mai târziu în articol.

Acum să analizăm ilustrația pe care am descris-o pentru a elabora acest concept. Clasa are numele întreg, deci cu siguranță și numele constructorului va fi același. În parametrii constructorului, există două valori de tip întreg. Acestea sunt inițializate pentru a accepta valorile care sunt trimise din programul principal ca apel de funcție.

Întreg( intX,intși)

{

LA=X;

B=și;

};

În exemplul anterior, variabilelor din interiorul constructorului li s-au dat valorile. În timp ce în acest constructor, variabilele sunt atribuite cu variabilele cu valoare.

Dacă vrem să afișăm, trebuie să definim o funcție care va returna valoarea, deoarece nu este posibil să accesăm acea variabilă inițializată direct din constructor.

intgetX()

{

întoarcerela;

};

Acum vom vedea partea principală a programului. Aici, atunci când obiectul este creat, puteți vedea valorile în secțiunea de parametri.

Integer v(70,55); {implicit}

număr întreg v=întreg(10,cincisprezece); {explicit}

Și pentru a afișa rezultatul, vom apela funcțiile create în interiorul clasei folosind obiectul. adică v.getx ().

Metoda de preluare a înregistrărilor este aceeași cu cea introdusă anterior.

Exemplul 3

Acest exemplu tratează copierea unui constructor al unei clase. Un constructor copiat este folosit pentru a inițializa obiectul cu un alt obiect dintr-o clasă similară căreia îi aparține. Acest constructor copiază datele prezente într-un obiect în celălalt. Parametrii acestui constructor conțin adresa unui obiect al clasei. Luați în considerare exemplele date, în care am introdus două variabile ale acelorași tipuri de date, astfel încât acestea să poată accesa prin orice funcție din clasă. Constructorul va primi valorile prin intermediul variabilei. În același timp, constructorul copiat va primi doar obiectul. Și cu ajutorul acestui obiect, valorile vor fi preluate.

Perete(perete&obiect)

{

Lungime=obiect.lungime;

Înălţime=obiect.înălţime;

}

Trebuie să calculăm suprafața, deci funcția pentru acest calcul este definită aici. Aceasta va readuce valoarea la funcția principală atunci când este apelată. Acum vom observa programul principal al codului

Apelul de funcție al constructorului copiat va fi astfel.

Perete de perete2=perete1;

Obiectul apelează constructorul copiat, iar datele prin primul obiect sunt copiate prin el. Mai mult, vom apela funcția pentru a calcula aria prin ambele obiecte.

Din ieșire, puteți vedea că rezultatul ambilor constructori este același. Înseamnă că toate datele au fost copiate cu succes de obiect.

Exemplul 4

Aceasta este o ilustrare a supraîncărcării constructorului. Se întâmplă atunci când trebuie să folosim mai mult decât o singură funcție în cadrul clasei. Supraîncărcarea constructorului urmează instrucțiunile constructorilor parametrizați. Toți constructorii din clasă au un nume similar cu clasa. Dar fiecăruia dintre constructori i se atribuie parametri diferiți. Fiecare constructor este chemat în funcție de argument atunci când creăm obiectul.

Luați în considerare exemplul dat, în care am folosit trei constructori. Unul este fără niciun argument. Al doilea este cu un singur argument, în timp ce al treilea este cu două argumente. Această ilustrație este similară cu cea precedentă. Pe măsură ce calculăm aria în funcția separată descrisă în interiorul clasei.

// Constructor cu două argumente

formă(intX,intși)

{

la=X;

b=și;

};

Acum, deplasându-ne către programul principal, putem vedea că, atunci când inițiem obiectul clasei, constructorul fără argument este apelat în mod implicit. Acum trebuie să apelăm alți constructori cu diferite obiecte având argumente diferite.

Forma s;

Forma s2(8);

Forma s3(4,2);

Funcția prin care putem afișa valoarea este apelată prin același obiect creat.

Pentru a vizualiza ieșirea, vom utiliza aceeași metodă a terminalului de comandă prin compilarea și executarea codului prezent în fișier.

Din rezultat, putem vedea că răspunsul este același pentru fiecare constructor.

Concluzie

În acest tutorial, am văzut elementele de bază ale constructorilor și funcționalitățile acestora, inclusiv cum să le supraîncărcați. Constructorii sunt utilizați pentru inițializarea variabilelor cu valori.