Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrare de laborator nr.4
la
Programarea orientată pe obiecte
Chișinău 2020
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
Lucrare de laborator nr.4
Varianta 4
Scopul lucrării:
studierea moştenirii, avantajele şi dezavantajele
studierea compoziţiei
studierea regulilor de definire a moştenirii şi compoziţiei
studierea formelor de moştenire
studierea iniţializatorilor
principiul de substituţie
moştenire şi compoziţie
#include <iostream>
#include <cstring>
class Om {
int salariu;
public:
explicit Om(int salariu);
virtual ~Om();
Om::~Om() {
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
std::cout << "Obiectul Om s-a distrus!\n";
}
~Colaborator() override;
Colaborator::~Colaborator() {
std::cout << "Obiectul Colaborator a fost distrus!\n";
delete[] post;
}
int main() {
using std::cout;
Colaborator c("Profesor", 6000);
cout << "\nColaborator:\n" << c;
cout << "\nOm:\n" << (Om) c;
return 0;
}
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
Rezultatul programului (a)
class CarteDeJoc {
char *grad;
char *culoare;
bool intoarsa = false;
public:
CarteDeJoc(char *grad, char *culoare);
virtual ~CarteDeJoc();
void flip();
CarteDeJoc();
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
strcpy(CarteDeJoc::grad, grad);
strcpy(CarteDeJoc::culoare, culoare);
}
CarteDeJoc::~CarteDeJoc() {}
void CarteDeJoc::flip() {
CarteDeJoc::intoarsa = !intoarsa;
}
CarteDeJoc::CarteDeJoc() = default;
class ButucDeCarti {
protected:
std::vector<CarteDeJoc> butuc;
public:
ButucDeCarti();
ButucDeCarti::ButucDeCarti() {
butuc = std::vector<CarteDeJoc>(36);
char *culori[] = {"Rosu", "Doba", "Verde", "Cruce"};
for (int i = 0; i <= 8; ++i) {
for (int j = 0; j < 4; ++j) {
int index = i * 4 + j;
if (i + 6 < 11) {
butuc[index].setGrad((char *) std::to_string(i + 6).c_str());
} else {
if (i == 5) {
butuc[index].setGrad("J");
} else {
if (i == 6) {
butuc[index].setGrad("Q");
} else {
if (i == 7)
butuc[index].setGrad("K");
else
butuc[index].setGrad("A");
}
}
}
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
butuc[index].setCuloare(culori[j]);
}
}
}
void arataCarti();
void schimbaOrdinea();
};
void ButucOrdonat::arataCarti() {
for (int i = 0; i < 36; ++i) {
std::cout << this->butuc[(ordineInversa) ? 35 - i : i];
}
}
void ButucOrdonat::schimbaOrdinea() {
ordineInversa = !ordineInversa;
}
void ButucAleator::arataCarti() {
for (int i = 0; i < 36; ++i) {
std::cout << this->butuc[i];
}
}
ButucAleator::ButucAleator() : ButucDeCarti() {
shuffle(butuc);
}
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
int main() {
using std::cout;
ButucAleator b;
cout << "Butuc aleator:\n";
b.arataCarti();
cout << "\nButuc ordonat:\n";
ButucOrdonat b1;
b1.arataCarti();
cout << "\nButuc ordonat invers:\n";
b1.schimbaOrdinea();
b1.arataCarti();
return 0;
}
2. Rezultatul programului (b)
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
Concluzii:
This study source was downloaded by 100000854172019 from CourseHero.com on 10-31-2022 13:45:20 GMT -05:00
https://www.coursehero.com/file/79057470/Lucrare-de-Laborator-Nr4-POOdocx/
Powered by TCPDF (www.tcpdf.org)