17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!