Home >Documents >Programare orientatăpe obiecte 5 C++ Func ii constructor i ... · PDF fileLucrarea de...

Programare orientatăpe obiecte 5 C++ Func ii constructor i ... · PDF fileLucrarea de...

Date post:10-Sep-2019
Category:
View:9 times
Download:0 times
Share this document with a friend
Transcript:
  • Programare orientată pe obiecte

    # 5

    Adrian Runceanu www.runceanu.ro/adrian

    2016

    C++ Funcții constructor și destructor

  • [email protected]

    Lucrarea de laborator nr.5

    Functii constructor si destructor

    1. Funcţiile constructor sunt metode ale claselor ce înlesnesc iniţializarea membrilor de date ai claselor

    2. Funcţiile constructor au acelaşi nume cu clasa respectivă, numele funcţieie constructor nu se precde, însă, cu cuvântul cheie void.

    3. Funcţiile constructor nu întorc nici o valoare

    09.11.2016 P.O.O. - limbajul C++ (laborator) 2

  • [email protected]

    Lucrarea de laborator nr.5

    Functii constructor si destructor

    4. De fiecare dată când un program creează o variabilă de tipul uni clase, C++ apelează funcţia constructor, în cazul în care aceasta există

    5. Rularea unui program implică alocarea de memorie în scopul stocării de informaţii ale diferitelor obiecte. La distrugerea unui obiect, C++ apelează o funcţie specială destructor care poate elibera această memorie.

    09.11.2016 P.O.O. - limbajul C++ (laborator) 3

  • [email protected]

    Lucrarea de laborator nr.5

    Functii constructor si destructor

    6. Funcţiile destructor au acelaţi nume cu clasa respectivă, dar acest nume trebuie precedat de caracterul (~).

    7. Funcţiile destructor nu întorc nici o valoare. Asemeni funcţiilor constructor, numele unei funcţii destructor nu sunt precedate de cuvântul cheie void.

    09.11.2016 P.O.O. - limbajul C++ (laborator) 4

  • [email protected]

    Lucrarea de laborator nr.5

    Problema nr.2

    Să se realizeze un program ce foloseşte o clasă Film cu următorii membrii:

    Nume (titlu film)

    actor principal

    actor secundar

    Se cere afişarea membrilor. Se vor utiliza funcţii constructor şi destructor.

    09.11.2016 P.O.O. - limbajul C++ (laborator) 5

  • [email protected]

    Lucrarea de laborator nr.5

    Solutie:

    #include #include using namespaces std;

    class film { private:

    char nume[35]; char actp[35]; char acts[35];

    09.11.2016 P.O.O. - limbajul C++ (laborator) 6

  • [email protected]

    Lucrarea de laborator nr.5

    public: film() { cout

  • [email protected]

    Lucrarea de laborator nr.5

    ~film()

    {

    cout

  • [email protected]

    Lucrarea de laborator nr.5

    void afisare_film()

    {

    cout

  • [email protected]

    Lucrarea de laborator nr.5

    int main()

    {

    film f1, f2;

    f1.afisare_film();

    f2.afisare_film();

    }

    09.11.2016 P.O.O. - limbajul C++ (laborator) 10

  • [email protected]

    Lucrarea de laborator nr.5

    Executia programului este:

    09.11.2016 P.O.O. - limbajul C++ (laborator) 11

  • [email protected]

    Lucrarea de laborator nr.5

    Probleme propuse spre rezolvare

    3. Să se realizeze un program care utilizează o clasă Grupa ce conţine ca date numele, prenumele, vârsta, notele la 5 examene şi media acestora pentru 10 studenţi. Clasa va avea o funcţie constructor pentru iniţializarea numelui şi prenumelui iar notele se vor citi de la tastatură. Media notelor va fi de tip privat.

    09.11.2016 P.O.O. - limbajul C++ (laborator) 12

  • [email protected]

    Lucrarea de laborator nr.5

    Probleme propuse spre rezolvare

    4. Să se realizeze un program care conţine două clase: 1. o clasă ce va conţine un tip de maşină, culoarea

    acesteia şi preţul 2. şi o clasă care conţine numele, prenumele şi vârsta

    unui şofer. Obiectele celei de-a doua clase vor apela obiectele primei clase pentru a specifica maşina fiecărui şofer. Se vor utiliza funcţii constructor şi destructor.

    09.11.2016 P.O.O. - limbajul C++ (laborator) 13

  • [email protected]

    Întrebări?

    09.11.2016 P.O.O. - limbajul C++ (laborator) 14

Click here to load reader

Reader Image
Embed Size (px)
Recommended