Anda di halaman 1dari 1

Subiectul 15

Nume si prenume: __________________________ Grupa: __________ Puncte estimate: ____________

Să se implementeze clasa Produs (codProd – cod reprezentat de un număr întreg constant, nrPreturi
– număr preturi din istoric preturi, istoricPreturi – vector cu dimensiune variabilă, alocat dinamic, cu
numere întregi ce reprezintă lista preturilor pe care produsul le-a avut), și să se dezvolte aplicația C++
care conține următoarele instrucțiuni din main():

1pt Definire clasa si atribute conform cerințelor


1pt Implementare destructor pentru a evita generarea de memory leaks
1pt void main() {
Produs p1(102);
cout << p1.getNrPreturi(); //afișează 0
int preturi[]{ 100,150,125,150,130 };
Produs p2(104, preturi, 5);
cout << "\n" << p2.getNrPreturi(); //afișează 5
1pt Produs p3 = p2;
cout << "\n" << p3.getCodProd(); //afișează 104

1pt int preturi2[]{ 500,525,400,450 };


p1.setPreturi(preturi2, 4);
cout <<"\n"<< p1.getNrPreturi(); //afișează 4

1pt p3 = p1;
int pretMax = p3.getPretMaxim();
cout <<"\n"<< pretMax; //afișează 525
Produs p4(110);
cout<<"\n"<< p4.getPretMaxim(); //afișează 0

1pt Produs* pp1 = new Produs(109);


*pp1 = p1;
cout << *pp1; //afișează Produsul cu codul 109 are 4 preturi in istoric: 500 525
400 450
1pt ... // dezalocă spațiul ocupat de pp1 – implementați apelul pentru ștergere
int pretUltim = (int)p1;
cout << "\n"<<pretUltim; //afișează 450, ultimul pret din istoricul de preturi
1pt p1 = ++p3; //actualizeaza ultimul pret prin incrementarea cu 1 unitate
cout << p1; //afișează Produsul cu codul 102 are 4 preturi in istoric: 500 525 400
451
cout << p3; //afișează Produsul cu codul 104 are 4 preturi in istoric: 500 525 400
451
1pt p4.setPreturi(preturi,5);
if (p1 == p4)
cout << "\nPretul mediu al produsului p1 este acelasi cu cel al produsului
p4";
else
cout << "\ nPretul mediu al produsului p1 nu este acelasi cu cel al
produsului p4";
//se va afișa mesajul corect

Notă: Doar soluțiile care nu conțin erori de compilare vor fi evaluate.

Anda mungkin juga menyukai