Extras din notiță
1. Clase.
O definitie “bruta” a clasei ar fi aceea ca este un concept extins al unui tip de date abstract : in loc sa contina numai informatii – variabile – , contine si functii.
Un obiect este o instantiere a unei clase. Mai precis, clasa ar fi tipul de date si obiectul ar fi variabila. La programarea obiectuala stau la baza: incapsularea (private, protected, public, published), polimorfismul si mostenirea
2. Structuri şi clase.
O structură de date este un grup de elemente de date grupate împreună sub un singur nume. Aceste elemente de date, cunoscut sub numele de membri, poate avea diferite tipuri şi lungimi diferite. Primul lucru pe care trebuie să ştim este că o structură de date creează un tip nou: Odată ce o structură de dateeste declarată, un nou tip cu identificatorul specificat ca nume_structra este creat si poate fi folosit în restul programului ca orice alt tip de date.
Implicit datele in structura sunt public pe cind in clasa private, de asemenea poate avea functii membre.
3. Uniuni şi clase.
Uniunea aloca o porţiune corespunzătoare din memorie pentru a fi accesata ca diferite tipuri de date. Declaraţia sa şi folosirea este similară cu ceaa structurilor, dar funcţionalitatea acesteia este cu totul diferit, toate elementele declaraţiei de uniune ocupă acelaşi spaţiu fizic în memorie, dimensiunea acesteia fiind tipul cu cea mai mare lungime din declaraţiei. Deoarece toate dintre ele se referă la aceeaşi locaţie în memorie, modificarea unuia dintre elemente vor afecta valoarea tuturo, nu putem stoca valori diferite în ele independente una de cealaltă. Una dintre folosirea uniunei este de a uni un tip elementar cu un array de elemente sau structuri mai mici.
4. Uniuni anonime.
Dacă declaram o uniune fara nume, atunci va fi uniune anonima si vom putea avea acces direct la membrii sai prin numele de mebru.
structure with regular union structure with anonymous union
struct {
char title[50];
char author[50];
union {
float dollars;
int yen;
} price;
} book;
1
2 book.price.dollars
book.price.yen
struct {
char title[50];
char author[50];
union {
float dollars;
int yen;
};
} book;
1
2 book.dollars
book.yen
5. Funcţii prietenc.
Membrii private şi protected din o clasă nu pot fi accesate din afara clasei în care sunt declarate, cu toate acestea, această regulă nu afectează prietenii
Prietenii sunt funcţiile sau clasele declarate cu cuvântul cheie friend.
Dacă vrem să declare o funcţie externa ca prieten a clasei, această funcţie va avea acces la membrii private şi protected din ea, astfel mai intii se declara prototipul functiei cu cuvintul cheie friend in corpul clase iar functia va fi externa clasei.
Preview document
Conținut arhivă zip
- Examen Programarea Orientata pe Obiecte.doc