Date post: | 10-Sep-2019 |
Category: | Documents |
View: | 9 times |
Download: | 0 times |
Programare orientată pe obiecte
# 5
Adrian Runceanu www.runceanu.ro/adrian
2016
C++ Funcții constructor și destructor
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
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
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
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
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
Lucrarea de laborator nr.5
public: film() { cout
Lucrarea de laborator nr.5
~film()
{
cout
Lucrarea de laborator nr.5
void afisare_film()
{
cout
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
Lucrarea de laborator nr.5
Executia programului este:
09.11.2016 P.O.O. - limbajul C++ (laborator) 11
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
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
Întrebări?
09.11.2016 P.O.O. - limbajul C++ (laborator) 14
Click here to load reader