Documente Academic
Documente Profesional
Documente Cultură
#include<string>
using namespace std;
class Locuinta
{
private:
const int id;
string proprietar;
int nrCamere;
float* suprafete;
static int nrLocuinte;
public:
//destructor
//~Locuinta()
//{
// delete[] suprafete;
//}
//get Propietar
string getProprietar()
{
return this->proprietar;
}
//get nr Camere
int getNrCamere()
{
return this->nrCamere;
}
//cobstrctur cop
Locuinta(Locuinta &S) :id(S.id)
{
nrLocuinte++;
this->proprietar = S.proprietar;
this->nrCamere = S.nrCamere;
this->suprafete = new float[this->nrCamere];
for (int i = 0; i < this->nrCamere; i++)
{
this->suprafete[i] = S.suprafete[i];
}
}
//get pt ID
int getId()
{
return this->id;
}
//operator =
Locuinta &operator=(Locuinta &S)
{
this->proprietar = S.proprietar;
delete[] this->suprafete;
this->nrCamere = S.nrCamere;
this->suprafete = new float[this->nrCamere];
for (int i = 0; i < this->nrCamere; i++)
{
this->suprafete[i] = S.suprafete[i];
}
return *this;
}
//get nr locuinte
static int getNrLocuinte()
{
return nrLocuinte;
}
return max;
}
//operator +
Locuinta &operator+(float n)
{
float* suprafete_noi;
suprafete_noi = new float[this->nrCamere];
for (int i = 0; i < this->nrCamere; i++)
{
suprafete_noi[i] = this->suprafete[i];
}
delete[] this->suprafete;
this->nrCamere = (this->nrCamere) + 1;
this->suprafete = new float[this->nrCamere];
for (int i = 0; i < (this->nrCamere)-1; i++)
{
this->suprafete[i] = suprafete_noi[i];
}
for (int i = 0; i < (this->nrCamere) - 1; i++)
{
this->suprafete[i] = ;
}
delete[] suprafete_noi;
return *this;
int Locuinta::nrLocuinte = 0;
void main()
{
Locuinta l1(101);
cout << l1.getProprietar() << endl;
float suprafete[]{ 12.5,14.5,5.0,6.5,20.0 };
Locuinta l2(102, "Popescu Ion", 5, suprafete);
cout << l2.getNrCamere() << endl;
Locuinta l3 = l2;
cout << l3.getId() << endl;//afiseaza 102
float suprafete_noi[]{ 11,8.6,12.0 };
l3.setSuprafete(suprafete_noi, 3);
cout << l3.getSuprafete()[1] << endl;;
Locuinta l4(104);
l1 = l4 = l3;
cout << Locuinta::getNrLocuinte()<< endl;
float suprafataMaxima = l1.calculeazaSuprafataMaxima();
cout << "Suprafata maxima este:" << suprafataMaxima << endl;
//delete[] p1;
Locuinta l5 = l2+21;
cout << "\nxcx"<<l5.calculeazaSuprafataMaxima();