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

Info icon This 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
Image of page 1

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

View Full Document Right 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
Image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern