Programare orientata pe obiecte

Lucrari de laborator


I. Programa Analitica

    1. Introducere in OOP si C++

    2. Paradigme de programare: procedurale, modulare, abstractizarea datelor, programare orientata pe obiecte - relatia de mostenire si virtualizarea functiilor

    2.1 Diferente fata de C

    2.2 Suport pentru abstractizare datelor: initializare si distrugerea obiectelor, asignarea si initializarea, sabloane, tratarea erorilor, conversii de tip

    2.3 Suport pentru POO: clase abstracte si concrete, implementari multiple, implementarea virtualizarii functiilor, mostenirea multipla

    3. Obiecte si clase: definirea unei clase, folosirea unei clase, accesul la membrii unei clase, domeniul de vizibilitate clasa, definirea unei clase intr-o alta clasa, declararea incompleta a unei clase, folosirea membrilor data a unei clase, date statice, obiecte ca si date membru, pointeri la membrii data a unei clase, pointeri al membrii data a unui obiect, membrii functie, metode statice, metode inline, functii membru cu this constant, constructori, constructori pentru clase cu obiecte incluse, constructori privati, constructori impliciti, constructori cu argumente, constructori pentru copierea obiectelor, destructori, destructori privati, relatia friend.

    4. Mostenirea, mostenirea simpla, polimorfism, inchidere functionala, mostenire multipla, clase de baza virtuala, regula de dominanta, operatorul de scope resolution.

    5. Supraincarcarea, conversii utilizator prin supraincarcare, supraincarcarea operatorilor, operatorii ca si apeluri de functii, operatori supraincarcati ca si functii membru, operatori supraincarcati ca si functii friend, operatorul apel de functie, operatorul de subscriere (indexare), operatorul de asignare, limitari ale supraincarcarii operatorilor, operatori unari prefix si postfix, accesul membrilro clasa folosind ->, supraincarcarea lui new si delete.

    6. Polimorfism, early and late binding, functii virtuale, functii virtuale nule, clase abstracte, tipuri de functii virtuale, vptr si vtab

    7. Streams, fisiere, formatare, filtre

    8. Biblioteca de sabloane standard (STL), containeri, iteratori, traversatori si predicate, algoritmi
 
 
II. Bibliografie:

1. The C++ Programming Language, Third Edition, Bjarne Stroustrup, Addison-Wesley, 1997
2. The Annotated C++ Reference Manual, Margaret A.Ellis, Bjarne Stroustrup, Addison-Wesley, 1990
3. Unified Objects: Object-Oriented Programming Using C++, Babak Sadr, IEEE Computer Society Press, 1996
4. Thinking in C++, Second Edition, Bruce Eckel, Prentice Hall Inc. 2000, vol 1, vol 2
5. Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1995

III. Carti disponibile

Pe 'Goliat' se pot gasi citeva carti in format electronic: