Sunteți pe pagina 1din 6

Ministerul Educației al Republicii Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică şi Microelectronică

RAPORT

Lucrarea de laborator Nr.2


La Programare Orientata pe Obiect

A elaborat: Iordan Marin IBM-191

A verificat: M. Osovschi

Chișinau 2020
Tema: Clase (constructori, destructori).Funcţii şi clase prietene.

Scopul lucrării: familiarizarea studenţilor cu noţiunea de clase, utilizarea constructorilor,


destructorilor, cu noțiunile de funcţii şi clase prietene.

Sarcina lucrarii: V8
Să se scrie un program pentru implimentarea unei clase care include un set de date specifice cît
și următoarele metode:

- Constructor prestabilit,
- Constructor de copiere,
- Constructor cu parametri,
- Metodă de inițializare a datelor,
- Metodă de afișare a datelor,
- Metode de returnare și afișare separată a datelor(opțional).

Clasa va conține metode descrise atît în interior cît și în exteriorul ei. Cel puțin o metod va fi
declarată ca funcție prietenă. După posibilități să se utilizeze pointerul this și operatorul
rezoluție( ::).

Listing-ul programului:

#include <iostream>
#include <cstring>

using namespace std;

class Medic
{
private:
string specialitate;
int staj;
int salariu;

public:
Medic(); // constructor prestabilit
Medic(Medic &obj); // constructor de copiere
Medic(string specialitate, int staj, int salariu); // constructor cu
parametri

// Getters
string GetSpecialitate() { return specialitate; }
int GetStaj() { return staj; }
int GetSalariu() { return salariu; }

// Setters
void SetSpecialitate (string specialitate);
void SetStaj(int staj);
void SetSalariu(int salariu);

// Methods
void Init();
friend void Afisare(Medic &medic);

};

/**
* CONSTRUCTORS
*/
Medic::Medic()
{
cout << "Constructor prestabilit..." << endl;
}

Medic::Medic (Medic &obj)


{
cout << "Constructor de copiere..." << endl;
specialitate= obj.specialitate;
staj= obj.staj;
salariu= obj.salariu;
}

Medic::Medic (string spec, int st, int sal)


{
cout << "Constructor cu parametri..." << endl;
this->specialitate = spec;
this->staj = st;
this->salariu = sal;
}

/**
* SETTERS
*/
void Medic::SetSpecialitate(string specialitate)
{
this->specialitate = specialitate;
}

void Medic::SetStaj(int staj)


{
this->staj =staj;
}

Void Medic:: SetSalariu (int salariu)


{
this->salariu =salariu;
}

/**
* METHODS
*/
void Medic::Init()
{
specialitate= "Chirurg";
staj= 10;
salariu= 40000;
}

void Afisare(Medic &medic)


{
cout << "Specialitate: " << medic.specialitate << " | Staj: " <<
medic.staj << " | Salariu: $" << medic.salariu << endl;
}

// MAIN()
int main()
{
// Scenariu 1:

Medic medic;
medic.Init();
Afisare(medic);

return 0;
}

Rezultatul programului:

int main()
{
// Scenariu 2:

Medic medic("Stomatolog", 12, 10000);

Medic medic2(medic);
Afisare(medic2);

return 0;
}Rezultatul programului:
int main()
{
// Scenariu 3:

Film film;
film.SetDenumire(“St setat”);
film.SetAn(1998);
film.SetCost(300000);

Film film2(film);
film2.GetDenumire();
film2.GetAn();
film2.GetCost();

return 0;
}

Medic medic;
medic.SetSpecialitate("St Ginecolog");
medic.SetStaj(7);
medic.SetSalariu(8000);

Medic medic2(medic);
medic2.GetSpecialitate();
medic2.GetStaj();
medic2.GetSalariu();

return 0;
}
Rezultatul programului:

Concluzie

În urma executării acestei lucrări de laborator am însuşit utilizarea claselor în C++, la fel
utilizarea constructorilor prestabilit, cu parametri şi respectiv cel de copiere. În interiorul clasei
au fost declarate variabilele ca fiind private şi accesul lor se execută prin intermediul la Getters
şi Setters. Metodele de setare(Setters) setează valoare pentru variabilă, dar Getters returnează
valoarea. Aceste se efectuează pentru securitatea programului şi se numeşte Incapsulare.
La fel am folosit o metodă prietenă pentru afişarea datelor unui obiect.

S-ar putea să vă placă și

  • Lucrarea de Laborator nr.3 Dragos
    Lucrarea de Laborator nr.3 Dragos
    Document9 pagini
    Lucrarea de Laborator nr.3 Dragos
    Mihai Marchitan
    Încă nu există evaluări
  • Lab 2 Cazacu POO
    Lab 2 Cazacu POO
    Document5 pagini
    Lab 2 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Lab 2 Cazacu POO
    Lab 2 Cazacu POO
    Document5 pagini
    Lab 2 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Raport 4
    Raport 4
    Document11 pagini
    Raport 4
    Dan Zagoreanu
    Încă nu există evaluări
  • LAB1MDMB
    LAB1MDMB
    Document10 pagini
    LAB1MDMB
    NeFe We
    Încă nu există evaluări
  • Lab1 POO
    Lab1 POO
    Document6 pagini
    Lab1 POO
    vlad
    Încă nu există evaluări
  • POO - Lab 2
    POO - Lab 2
    Document16 pagini
    POO - Lab 2
    Dascal Sergiu
    Încă nu există evaluări
  • Lucrarea de Laborator NR 4 POO
    Lucrarea de Laborator NR 4 POO
    Document10 pagini
    Lucrarea de Laborator NR 4 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Raport 3
    Raport 3
    Document9 pagini
    Raport 3
    Dan Zagoreanu
    Încă nu există evaluări
  • Lab 2 POO AI-191
    Lab 2 POO AI-191
    Document8 pagini
    Lab 2 POO AI-191
    Carolin
    Încă nu există evaluări
  • Lab 4 POO
    Lab 4 POO
    Document8 pagini
    Lab 4 POO
    Marin Gojan
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document3 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab.4 POO UD
    Lab.4 POO UD
    Document9 pagini
    Lab.4 POO UD
    Miroslava
    Încă nu există evaluări
  • Java Lab 1
    Java Lab 1
    Document9 pagini
    Java Lab 1
    Valentin Bencheci
    Încă nu există evaluări
  • 4 Proiectare Si Programare Orientata Obiect Rezolvate
    4 Proiectare Si Programare Orientata Obiect Rezolvate
    Document17 pagini
    4 Proiectare Si Programare Orientata Obiect Rezolvate
    Doru Barbu
    100% (3)
  • MD Lab1
    MD Lab1
    Document13 pagini
    MD Lab1
    loredanapp05
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Model de Subiect Programare Avansata Pe Obiecte
    Model de Subiect Programare Avansata Pe Obiecte
    Document3 pagini
    Model de Subiect Programare Avansata Pe Obiecte
    Calin Popescu
    Încă nu există evaluări
  • Lab3 DPP
    Lab3 DPP
    Document12 pagini
    Lab3 DPP
    Fil Gorea
    Încă nu există evaluări
  • ASDC2
    ASDC2
    Document12 pagini
    ASDC2
    Valeria Tintaru
    Încă nu există evaluări
  • POO - 003 - Clase. Constructori Și Destructori
    POO - 003 - Clase. Constructori Și Destructori
    Document27 pagini
    POO - 003 - Clase. Constructori Și Destructori
    Dorin Crasnojon
    Încă nu există evaluări
  • Lab 3 Cazacu POO
    Lab 3 Cazacu POO
    Document4 pagini
    Lab 3 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • lab 11 Functii si clase generice
    lab 11 Functii si clase generice
    Document30 pagini
    lab 11 Functii si clase generice
    daniel.grosu
    Încă nu există evaluări
  • Lucrare de Laborator Nr.4 POO
    Lucrare de Laborator Nr.4 POO
    Document8 pagini
    Lucrare de Laborator Nr.4 POO
    Dascal Sergiu
    Încă nu există evaluări
  • Lab4 TAP UTM
    Lab4 TAP UTM
    Document6 pagini
    Lab4 TAP UTM
    Tabureanu Marian
    Încă nu există evaluări
  • Tutunaru Poo Lab 3
    Tutunaru Poo Lab 3
    Document9 pagini
    Tutunaru Poo Lab 3
    Dascal Sergiu
    Încă nu există evaluări
  • PAM Lab6
    PAM Lab6
    Document31 pagini
    PAM Lab6
    Ion Cornea
    Încă nu există evaluări
  • Kulev PC Lab Raport Model 2020
    Kulev PC Lab Raport Model 2020
    Document4 pagini
    Kulev PC Lab Raport Model 2020
    arabe arabe
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document5 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • L1 s2 2020 SE-OOP CPP PDF
    L1 s2 2020 SE-OOP CPP PDF
    Document33 pagini
    L1 s2 2020 SE-OOP CPP PDF
    Roxana Buta
    Încă nu există evaluări
  • Laborator Nr.2 BD
    Laborator Nr.2 BD
    Document12 pagini
    Laborator Nr.2 BD
    Андрей Пырлог
    Încă nu există evaluări
  • Lucrarea de Laborator nr.4 Poo
    Lucrarea de Laborator nr.4 Poo
    Document7 pagini
    Lucrarea de Laborator nr.4 Poo
    Michela Cataraga
    Încă nu există evaluări
  • Model Raport Proiect de An BTD 2020
    Model Raport Proiect de An BTD 2020
    Document14 pagini
    Model Raport Proiect de An BTD 2020
    Alina Axenti
    Încă nu există evaluări
  • Lab 5-6 PC UTM FCIM TI
    Lab 5-6 PC UTM FCIM TI
    Document36 pagini
    Lab 5-6 PC UTM FCIM TI
    Adrian Chiforiuc
    Încă nu există evaluări
  • ZinveliuIoana Cumulate Lab8 An1 Sem2
    ZinveliuIoana Cumulate Lab8 An1 Sem2
    Document12 pagini
    ZinveliuIoana Cumulate Lab8 An1 Sem2
    Ioana Zinveliu
    Încă nu există evaluări
  • 01 - Introducere. Biblioteci
    01 - Introducere. Biblioteci
    Document24 pagini
    01 - Introducere. Biblioteci
    Alexandru Stefan Draistaru
    Încă nu există evaluări
  • Exemplu de Laborator
    Exemplu de Laborator
    Document10 pagini
    Exemplu de Laborator
    cristian
    Încă nu există evaluări
  • Oop L4
    Oop L4
    Document6 pagini
    Oop L4
    Florin Daniel
    Încă nu există evaluări
  • Curs 1 Informatica
    Curs 1 Informatica
    Document43 pagini
    Curs 1 Informatica
    Gherghel Musat Daniel Emil
    Încă nu există evaluări
  • Raport Lab.6 (SDA)
    Raport Lab.6 (SDA)
    Document11 pagini
    Raport Lab.6 (SDA)
    RoscaFlorin
    Încă nu există evaluări
  • Lucrarea de Laborator nr.4 Dragos
    Lucrarea de Laborator nr.4 Dragos
    Document13 pagini
    Lucrarea de Laborator nr.4 Dragos
    Mihai Marchitan
    Încă nu există evaluări
  • Lab7C 1 1
    Lab7C 1 1
    Document7 pagini
    Lab7C 1 1
    Cristian Conea
    Încă nu există evaluări
  • An1 Lab08 Sem2 20-21
    An1 Lab08 Sem2 20-21
    Document7 pagini
    An1 Lab08 Sem2 20-21
    Ioana
    Încă nu există evaluări
  • AlexeTudorStefan Lab12
    AlexeTudorStefan Lab12
    Document3 pagini
    AlexeTudorStefan Lab12
    Ovidiu Moldovan
    Încă nu există evaluări
  • Laborator-3 Programarea Calculatoarelor
    Laborator-3 Programarea Calculatoarelor
    Document7 pagini
    Laborator-3 Programarea Calculatoarelor
    Radu Arapan
    Încă nu există evaluări
  • LabPOO TI
    LabPOO TI
    Document4 pagini
    LabPOO TI
    Dan Bogdan
    Încă nu există evaluări
  • An1 Lab07 Sem2 20-21
    An1 Lab07 Sem2 20-21
    Document8 pagini
    An1 Lab07 Sem2 20-21
    Ioana
    Încă nu există evaluări
  • Raport 1
    Raport 1
    Document14 pagini
    Raport 1
    Dima Grigoras
    Încă nu există evaluări
  • Lucrare de Laborator 1
    Lucrare de Laborator 1
    Document5 pagini
    Lucrare de Laborator 1
    Alexia Ducu
    Încă nu există evaluări
  • Masive Bidimensionale
    Masive Bidimensionale
    Document4 pagini
    Masive Bidimensionale
    crissssy
    100% (1)
  • LAB5
    LAB5
    Document8 pagini
    LAB5
    Nicu Rotari
    Încă nu există evaluări
  • POO3 Grosu Maxim RM201
    POO3 Grosu Maxim RM201
    Document12 pagini
    POO3 Grosu Maxim RM201
    maxlab
    Încă nu există evaluări
  • Operatori Fisiere
    Operatori Fisiere
    Document4 pagini
    Operatori Fisiere
    AndreeaPopescu
    Încă nu există evaluări
  • Lab 3 POO
    Lab 3 POO
    Document7 pagini
    Lab 3 POO
    Catalin Morari
    Încă nu există evaluări
  • Raport NR 3 Programarea Calculatoarelor
    Raport NR 3 Programarea Calculatoarelor
    Document9 pagini
    Raport NR 3 Programarea Calculatoarelor
    vlad
    Încă nu există evaluări
  • Lab LFPCN3 OnicaDinu
    Lab LFPCN3 OnicaDinu
    Document18 pagini
    Lab LFPCN3 OnicaDinu
    Dinu RaceClan
    Încă nu există evaluări
  • Cde 5
    Cde 5
    Document5 pagini
    Cde 5
    Belîi Daniela
    Încă nu există evaluări
  • Varianta Atestarea 2 Seria 2
    Varianta Atestarea 2 Seria 2
    Document2 pagini
    Varianta Atestarea 2 Seria 2
    Belîi Daniela
    Încă nu există evaluări
  • Lucrare de Laborator Nr. 1
    Lucrare de Laborator Nr. 1
    Document4 pagini
    Lucrare de Laborator Nr. 1
    Belîi Daniela
    Încă nu există evaluări
  • DTYVGUB
    DTYVGUB
    Document11 pagini
    DTYVGUB
    Belîi Daniela
    Încă nu există evaluări
  • MMC Lab2
    MMC Lab2
    Document6 pagini
    MMC Lab2
    Mihail Boran
    Încă nu există evaluări
  • Proiect Dispozitive Si Circuite Electronice
    Proiect Dispozitive Si Circuite Electronice
    Document22 pagini
    Proiect Dispozitive Si Circuite Electronice
    DanielaBalan
    100% (1)
  • Serdtfgyuhjk
    Serdtfgyuhjk
    Document10 pagini
    Serdtfgyuhjk
    Belîi Daniela
    Încă nu există evaluări
  • Foaia de Titlu
    Foaia de Titlu
    Document1 pagină
    Foaia de Titlu
    Belîi Daniela
    Încă nu există evaluări
  • Cde 5
    Cde 5
    Document5 pagini
    Cde 5
    Belîi Daniela
    Încă nu există evaluări
  • CYTGUHBI
    CYTGUHBI
    Document6 pagini
    CYTGUHBI
    Belîi Daniela
    Încă nu există evaluări
  • Model Laborator 2 PDF
    Model Laborator 2 PDF
    Document4 pagini
    Model Laborator 2 PDF
    hsdfhdf
    Încă nu există evaluări
  • Lab2 Poo
    Lab2 Poo
    Document5 pagini
    Lab2 Poo
    Maria Codreanu
    Încă nu există evaluări
  • UGHIJOK
    UGHIJOK
    Document7 pagini
    UGHIJOK
    Belîi Daniela
    Încă nu există evaluări
  • Mecanica 5 PDF
    Mecanica 5 PDF
    Document5 pagini
    Mecanica 5 PDF
    Belîi Daniela
    Încă nu există evaluări
  • Curs C
    Curs C
    Document112 pagini
    Curs C
    alexsicoe
    Încă nu există evaluări
  • BIUHJK
    BIUHJK
    Document14 pagini
    BIUHJK
    Belîi Daniela
    Încă nu există evaluări
  • Lab 2 Cazacu POO
    Lab 2 Cazacu POO
    Document6 pagini
    Lab 2 Cazacu POO
    Belîi Daniela
    Încă nu există evaluări
  • Lab 2 C
    Lab 2 C
    Document12 pagini
    Lab 2 C
    Belîi Daniela
    Încă nu există evaluări
  • Lab 2 Cazacu POO
    Lab 2 Cazacu POO
    Document6 pagini
    Lab 2 Cazacu POO
    Belîi Daniela
    Încă nu există evaluări
  • Lab2 Poo
    Lab2 Poo
    Document5 pagini
    Lab2 Poo
    Maria Codreanu
    Încă nu există evaluări
  • Lab 2 Cazacu POO
    Lab 2 Cazacu POO
    Document6 pagini
    Lab 2 Cazacu POO
    Belîi Daniela
    Încă nu există evaluări
  • Lab2 Poo
    Lab2 Poo
    Document5 pagini
    Lab2 Poo
    Maria Codreanu
    Încă nu există evaluări
  • Curs C
    Curs C
    Document112 pagini
    Curs C
    alexsicoe
    Încă nu există evaluări
  • Lab2 Poo
    Lab2 Poo
    Document5 pagini
    Lab2 Poo
    Maria Codreanu
    Încă nu există evaluări
  • Lab 5
    Lab 5
    Document7 pagini
    Lab 5
    Belîi Daniela
    Încă nu există evaluări
  • Lab2 Poo
    Lab2 Poo
    Document5 pagini
    Lab2 Poo
    Maria Codreanu
    Încă nu există evaluări
  • Lab 26 Belii Daniela SI 191
    Lab 26 Belii Daniela SI 191
    Document4 pagini
    Lab 26 Belii Daniela SI 191
    Belîi Daniela
    Încă nu există evaluări
  • RGHRTR
    RGHRTR
    Document11 pagini
    RGHRTR
    Belîi Daniela
    Încă nu există evaluări