Salut, sunt Serban si acesta este al treizecisisaptelealea tutorial dintr-o suita de tutoriale ale limbajului C++, tutoriale ce le voi face pentru tutorialevideo.info; In acest tutorial vom continua discutia despre constructori.
Am discutat in tutorialul precedent despre rolul constructorilor si despre Dafault Constructor. Am spus de ce putem folosi acest constructor si ce inseamna un Default Constructor.
In acest tutorial ne vom extinde cunostintele despre constructori. In primul rand, merita sa mentionam faptul ca un constructor poate fi default sau nu. In sensul ca poate avea 0 sau mai multi parametri. Ne reamintim ca un constructor este o functie ce nu intoarce nimic si nu este nici de tip `void`. Acesti parametri pot fi valori pentru variabilele membre ale clasei noastre.
De asemenea, o clasa se poate a avea mai multi constructori, insa cu conditia ca acestia sa aiba un numar diferit de parametri sau sa aiba parametri de tipuri diferite. Avem nevoie de mai multi constructori atunci cand clasa noastra are o functionalitate mare si astfel vrem sa initializam o anumita parte din toate variabilele clasei noastre. Presupunand ca avem o clasa denumita Person, vrem sa construim doi constructori, unul dintre ei sa initializeze `corpul` acestei persoane(practic, sa ne spuna daca persoana are ochii verzi, este inalta, este barbat sau femeie) si alt constructor care sa initializeze alte caracteristici(varsta, unde locuieste, unde invata, cu ce se ocupa, ce ii place sa faca).
Cum am mai spus, constructorii sunt functii in C++. Astfel, ele trebuiesc apelate intr-un fel. Doar ca niciodata nu o sa intalniti sa se apeleze functia stand-alone. Ei bine, constructorul este apelat cu ajutorul cuvantului cheie `new`. `Person *p = new Person();` este o apelare de constructor. Cu ajutorul operatorului `new`, am apelat constructorul default al clasei Person.
NU uitati: cititi si documentati-va in plus, nu parcurgeti _doar_ aceste tutoriale pentru ca nu sunt indeajuns pentru a va dezvolta calitatile de coding, ci sunt doar mici rampe de lansare catre cunoastere. Dupa fiecare tutorial vizionat, abordati subiectul dezbatut in acesta pe net, in cartea `Thinking in C++`, in sectiunea de comentarii.
NU lasati sa treaca pe langa voi o informatie neclara, pentru ca orice farama de cunoastere este importanta.
Recomanda-mi si mie te rog o carte de programare C++/Java, da in limba romana.