Documente Academic
Documente Profesional
Documente Cultură
Laboratorul nr. 4
Programarea pe Obiecte
11. In calitate de clasă de bază se consideră clasele cerc și
figura (exemplul rezolvat în lucrare). Aceste clase derivă
clasa figura_noua (formată dintr-un patrat și figura
prezentată în exemplul rezolvat), grafic figura_noua se
reprezintă:
Codul:
// MostenireMultimpla.cpp
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
class figura {
// aici va fi patratul si triungiul
public:
// publice pt a le accesa din clasa cerc
float latura_patrat;
figura() {
latura_patrat = latura_triunghi = 0;
}
figura(float x, float y) {
latura_patrat = x;
latura_triunghi = y;
}
void citire_patrat() {
cout << "Introdu latura patratului: ";
cin >> latura_patrat;
}
float s_patrat() {
return latura_patrat * latura_patrat;
}
// aflam latura triunghiului
float latura_triunghi = latura_patrat + 0.3 * latura_patrat;
};
public:
cerc() {
raza = 0;
}
cerc(float lat) {
raza = lat;
}
// aflam raza cercului
float raza = latura_patrat / 2;
// suprafata cerc
float s_cerc() {
return PI * raza * raza;
}
};
int main()
{
vector<figura_noua> lista;
float s_total = 0;
for (int i = 0; i < n; i++) {
figura_noua Figura;
cout << "Figura nr." << i + 1 << "\n";
Figura.citire_patrat();
s_total = (Figura.s_cerc() / 2) + Figura.s_tr() + Figura.s_patrat();
cout << " - Suprafata totala a figurii este de : " << s_total
<< " cm^2 " << endl << endl;
}
}
Rezultate:
Concluzie: În această lucrare de laborator, am aplicat
prorietatea de moștenire multiplă, creând trei clase (figura, cerc;
figura_noua). figura_noua -> cerc -> figura. Astfel, am putut înscrie
și crea în program acea figură complexă. Apoi am declarat un
vector, am precizat cantitatea de figuri pentru care citim datele și
am efectuat calcule, apelând la funcțiile declarate în clase.