Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Utilizarea de obiecte<br />
Din punct de vedere sintactic, o clasã este o structurã extinsã, care poate contine ca<br />
membri atât variabile cât si functii. Fiecare definire a unui tip structurã introduce un<br />
nou tip de date, care poate fi folosit <strong>în</strong> declararea de variabile, de functii si argumente<br />
de functii. La fel, fiecare definitie de clasã introduce un nou tip de date. Operatiile<br />
posibile cu variabile de un tip clasã sunt cele definite prin metodele publice ale clasei.<br />
In Java este definitã o clasa "Vector" (redenumitã si "ArrayList") pentru un vector<br />
extensibil de obiecte generice (de tip "Object"). Putem sã ne definim o clasã vector si <strong>în</strong><br />
C++, sau mai multe clase vector pentru diferite tipuri de elemente componente.<br />
Fie o clasa “IntArray” pentru un vector extensibil de numere <strong>în</strong>tregi. Un obiect de<br />
acest tip este o variabilã a cãrei declaratie depinde de functiile constructor definite <strong>în</strong><br />
clasã. Dacã existã (si) un constructor fãrã argumente (sau toate argumentele au valori<br />
implicite) atunci putem scrie astfel:<br />
IntArray a,b; // dar nu si : IntArray a();<br />
Dacã existã un constructor cu argument <strong>în</strong>treg care specificã dimensiunea initialã a<br />
vectorului, atunci putem scrie declaratii de forma:<br />
IntArray a(100), b(200);<br />
Un constructor al clasei este apelat automat <strong>în</strong> C++ la declararea unei variabile de<br />
un tip clasã si de cãtre operatorul "new", care alocã memorie pentru un nou obiect.<br />
Exemple de alocare dinamicã a unor obiecte de tip vector :<br />
IntArray * pa = new IntArray (100);<br />
IntArray * p = new IntArray(); // sau: p = new IntArray;<br />
Functia urmãtoare creeazã un obiect pe baza unui vector C si poate fi rescrisã sub<br />
forma unui constructor al clasei "IntArray":<br />
void create (int v[ ], int nv, IntArray a) {<br />
for(int i=0;i