Sunteți pe pagina 1din 8

Ministerul Educaţiei ,Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare,Informatică și Microelectronică
Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator Nr.5
Varianta:8
Tema:”Mostenirea multipla”

Diciplina:,,Programarea Orientata pe Obiecte”

A efectuat: st. gr.MN-181 Moraru Cristian

A verificat: dr., conf.univ. Osovschi Mariana

2019
Scopul lucrării:
 Studierea regulilor de determinare a moştenirii multiple;
 Studierea avantajelor şi neajunsurilor moştenirii multiple;
 Probleme legate de utilizarea moştenirii multiple;
 Studierea rezolvării problemelor;

Sarcina Lucrarii:
a) Să se creeze, o ierarhie de moştenire: undiţă, telescop – undiţă telescopică.
b) Să se creeze, o ierarhie de moştenire: obiect - undiţă, telescop – undiţă telescopică.

a) Codul Programului:
#include <iostream>
#include <string>

using namespace std;

class UnditaTelescop
{
protected:
int n;
string company;

public:
UnditaTelescop()
{
cout << "Introduceti denumirea companiei de Lanseta de buzunar: " <<
endl;
cin >> company;
cout << "Introduceti numarul de Lanseta: " << endl;
cin >> n;
}

void ft_show()
{
cout << "Va deserveste compania de Lansete telescopice:" << company
<< endl;
cout << "Numarul de Lansete : " << n << endl;
}
};

class Specificatii
{
protected:
int num;
int pret;
public:
Specificatii()
{
cout << "Introduceti greutatea:" << endl;
cin >> num;
cout << "Introduceti pretul:" << endl;
cin >> pret;
}

void ft_show()
{
cout << "Acesta este greutatea!" << endl;
cout << "Greutatea maxima este de " << num << endl;
cout << "Pretul Lansetei este " << pret << endl;
}
};

class Telescop : public UnditaTelescop , public Specificatii


{
int lung;
string marc;

public:
Telescop() : UnditaTelescop(), Specificatii()
{
cout << "Introduceti marca lansetei:" << endl;
cin >> marc;
cout << "Introduceti lungimea:" << endl;
cin >> lung;
Telescop :: lung = lung;
}

void ft_show(void)
{
system("cls");
cout<<"Aceasta este o lanseta de marca: " << marc << endl;
UnditaTelescop :: ft_show();
Specificatii :: ft_show();
cout << "Lungimea lansetei este : " << lung << endl;
cout << endl;
}
};
int main()
{
Telescop UnditaTelescopica;
UnditaTelescopica.ft_show();
system("pause");
return (0);
}

Rezultatul Programului:

b) Codul Programului:
#include <iostream>

#include <string>

using namespace std;

class Obiect_type

protected:

string type;

string propriety;

public:
Obiect_type()

cout << "Introduceti tipul obiectului:" << endl;

cin >> type;

cout << "Introduceti proprietarul" << endl;

cin >> propriety;

void ft_show()

cout << "Obiect de tip " << type << endl;

cout << "Este o proprietate a companiei " << propriety << endl;

};

class ObiectUndita : public Obiect_type

protected:

int n;

string company;

public:

ObiectUndita() : Obiect_type()

cout << "Introduceti denumirea companiei : " << endl;

cin >> company;

cout << "Introduceti numarul de lansete: " << endl;

cin >> n;

}
void ft_show()

Obiect_type :: ft_show();

cout << "Va deserveste compania :" << company << endl;

cout << "Numarul de lansete : " << n << endl;

};

class UnditaTelescopica : public Obiect_type

protected:

int num;

int pret;

public:

UnditaTelescopica() : Obiect_type()

cout << "Introduceti numarul maxim de lansete :" << endl;

cin >> num;

cout << "Introduceti pretul:" << endl;

cin >> pret;

void ft_show()

cout << "Aceasta este o undita telescopica!" << endl;

cout << "Numarul maxim de lansete este de " << num << endl;

cout << " Pretul lansetei este de " << pret << endl;

};
class Telescop : public UnditaTelescopica , public Obiect_type

int lung;

string marc;

public:

Telescop() : UnditaTelescopica(), Obiect_type()

cout << "Introduceti marca lansetei:" << endl;

cin >> marc;

cout << "Introduceti lungimea lansetei:" << endl;

cin >> lung;

Telescop :: lung = lung;

void ft_show(void)

system("cls");

cout<<"Aceasta este o lanseta de marca: " << marc << endl;

UnditaTelescopica :: ft_show();

Telescop :: ft_show();

cout << "Lungimea lansetei este : " << lung << endl;

cout << endl;

};

int main()

Obiect_type UnditaTelescopica22;

UnditaTelescopica.ft_show();

system("pause");

return (0);

}
Rezultatul Programului:

Concluzie:

 In rezultatul elaborarii lucrarii date s-a pus baza aplicarii in practica a cunostintelor
teoretice referitoare la mostenirea multipla.
 Astfel se poate judeca despre posibilitatile largi acordate de limbajul C++ referitor la
manipularea claselor.

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