capitolul10 - CAPITOLUL 10 Clase i obiecte CLASE I OBIECTE...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CAPITOLUL 10 Clase şi obiecte CLASE ŞI OBIECTE 10.1. Definiţia claselor şi accesul la membrii 10.2. Funcţii inline 10.1.1. Legătura clasă-structură-uniune 10.3. Constructori şi destructori 10.1.2. Declararea claselor 10.3.1. Iniţializarea datelor 10.1.3. Obiecte 10.3.2. Constructori 10.1.4. Membrii unei clase 10.3.3. Destructori 10.1.5. Pointerul this 10.3.4. Tablouri de obiecte 10.1.6. Domeniul unui nume, 10.4. Funcţii prietene ( friend ) vizibilitate şi timp de viaţă 10.1. DEFINIŢIA CLASELOR ŞI ACCESUL LA MEMBRII 10.1.1. LEGĂTURA CLASĂ-STRUCTURĂ-UNIUNE Aşa cum s-a subliniat în capitolul 9, o clasă reprezintă un tip abstract de date , care încapsulează atât elementele de date (datele membre) pentru care s-a adoptat un anumit mod de reprezentare, cât şi operaţiile asupra datelor (funcţiile membre, metode). În limbajul C++, structurile şi uniunile reprezintă cazuri particulare ale claselor, putând avea nu numai date membre, câmpuri de date (vezi capitolul 8), dar şi funcţii membre. Singura diferenţă între structuri şi uniuni constă în faptul că la uniuni, pentru memorarea valorilor datelor membre se foloseşte aceeaşi zonă de memorie. Deosebirea esenţială între structuri şi uniuni - pe de o parte - şi clase - pe cealată parte - constă în modul de acces la membrii: la structuri şi uniuni membrii (datele şi metodele) sunt implicit publici , iar la clase - implicit privaţi (membrii sunt încapsulaţi). Lipsa unor modalităţi de protecţie a datelor, face ca tipurile de date introduse prin structuri sau uniuni să nu poată fi strict controlate în ceea ce priveşte operaţiile executate asupra lor. În cazul claselor, modul de acces la membrii tipului de date (în scopul protejării acestora) poate fi schimbat prin utilizarea modificatorilor de control ai accesului: public , private , protected. 10.1.2. DECLARAREA CLASELOR Modul de declarare a unei clase este similar celui de declarare a structurilor şi a uniunilor: class nume_tip { modificator_control_acces: lista_membrilor; } lista_variabile ; Clasa reprezintă un tip de date (definit de utilizator). Membrii unei clase sunt: Datele membre - datele declarate în cadrul clasei; Metodele - funcţiile membre, funcţiile declarate sau definite în cadrul clasei. Se admite că în cadrul declaraţiei de clasă să se specifice doar prototipurile funcţiilor membre, definiţiile putând fi făcute oriunde în fişier, sau în alt fişier. Pentru membrii care apar în lista_membrilor se poate preciza un anumit mod de acces. Modificator_control_acces poate fi public , private sau protected (eventual friend , vezi paragraful 10.4.). Dacă nu se specifică, este considerat cel implicit ( private ). Modificatorul de acces public se utilizează pentru membrii care dorim să fie neprotejaţi, ultimii doi modificatori asigurând protecţia membrilor din domeniul de acţiune a lor. Membrii cu acces private pot fi accesaţi numai prin 133 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
CAPITOLUL 10 Clase şi obiecte metodele clasei (sau prin funcţiile prietene, capitolul 10.4.). Cei cu acces protected posedă caracteristicile celor privaţi, în plus, putând fi accesaţi şi din clasele derivate. Specificatorii modului de acces pot apare în
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 08/10/2009 for the course SCIENCES UBC02005 taught by Professor Ionpaniat during the Spring '09 term at 東京大学.

Page1 / 20

capitolul10 - CAPITOLUL 10 Clase i obiecte CLASE I OBIECTE...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online