Poo proiect
Transcript of Poo proiect
-
8/20/2019 Poo proiect
1/9
#include #include #include #include #include #include using namespace std;
class Contract{private: int nrContract;
int anul; char * benefciar; char urnizor!"; $oat valoare; static int nrdecontracte;
public:Contract%&{
this'>anul ( );this'>benefciar ( ne charstrlen%+,ecunoscut+& - !;strcp%this'>benefciar/ +,ecunoscut+&;strcp%this'>urnizor/ +,ecunoscut+&;valoare ( );Contract::nrdecontracte--;this'>nrContract ( Contract::nrdecontracte--;
0Contract%int an/ char * ben/ char ur!"/ $oat val/ int nrc&{
this'>anul ( an;this'>benefciar ( ne charstrlen%ben& - !;strcp%this'>benefciar/ ben&;strcp%this'>urnizor/ ur&;this'>valoare ( val;Contract::nrdecontracte--;
this'>nrContract ( Contract::nrdecontracte--;0Contract%Contract 1 sursa&{
this'>anul ( sursa.anul;this'>benefciar ( ne charstrlen%sursa.benefciar& - !;strcp%this'>benefciar/ sursa.benefciar&;strcp%this'>urnizor/ sursa.urnizor&;this'>valoare ( sursa.valoare;Contract::nrdecontracte--;this'>nrContract ( Contract::nrdecontracte--;
02Contract%&{
i %this'>benefciar& delete this'>benefciar;0int get3nrContract%&{
return this'>nrContract;0$oat get3valoare%&{
return this'>valoare;0
-
8/20/2019 Poo proiect
2/9
char * get3benefciar%&{
return this'>benefciar;0$oat calcultva%&{
$oat 4;
4 ( ).56*valoare;return 4;
0riend ostream 1 operator
-
8/20/2019 Poo proiect
3/9
#include #include using namespace std;class olitasigurare{protected:
char data!);
char * benefciar;int suma;int valoare;int nrpolita;static int numarpolita;
public:olitasigurare%&{
strcp%this'>data/ +'+&;this'>benefciar ( ne charstrlen%+necunoscut+& - !;strcp%this'>benefciar/ +necunoscut+&;this'>suma ( );this'>valoare ( );olitasigurare::numarpolita--;this'>nrpolita ( olitasigurare::numarpolita;
0
olitasigurare%char dt!)/ char * ben/ int sum/ int val/ int nrp&{
strcp%this'>data/ dt&;this'>benefciar ( ne charstrlen%ben& - !;strcp%this'>benefciar/ ben&;this'>suma ( sum;this'>valoare ( val;olitasigurare::numarpolita--;this'>nrpolita ( olitasigurare::numarpolita;
0
olitasigurare% olitasigurare 1 sursa&{strcp%this'>data/ sursa.data&;this'>benefciar ( ne charstrlen%sursa.benefciar& - !;strcp%this'>benefciar/ sursa.benefciar&;this'>suma ( sursa.suma;this'>valoare ( sursa.valoare;olitasigurare::numarpolita--;this'>nrpolita ( olitasigurare::numarpolita;
0riend ostream 1 operator > %istream 1/ olitasigurare 1&;
0;ostream 1 operator
-
8/20/2019 Poo proiect
4/9
cout > p.data;cout p.valoare;olitasigurare::numarpolita--;
p.nrpolita ( olitasigurare::numarpolita;return intrare;
0int olitasigurare::numarpolita ( );void main%&{
olitasigurare !/ 8;cout
-
8/20/2019 Poo proiect
5/9
strcp%this'>culoare/ +incolor+&;this'>pret ( );this'>cantitate ( );
07ngredient%char * d/ char cl!)/ double p/ int c&{
this'>denumire ( ne charstrlen%d& - !;
strcp%this'>denumire/ d&;strcp%this'>culoare/ cl&;this'>pret ( p;this'>cantitate ( c;
07ngredient%7ngredient 1 sursa&{
this'>denumire ( ne charstrlen%sursa.denumire& - !;strcp%this'>denumire/ sursa.denumire&;strcp%this'>culoare/ sursa.culoare&;this'>pret ( sursa.pret;this'>cantitate ( sursa.cantitate;
07ngredient 1 operator ( %const 7ngredient 1 i&{
i %this'>denumire& { delete this'>denumire; 0this'>denumire ( ne charstrlen%i.denumire& - !;strcp%this'>denumire/ i.denumire&;strcp%this'>culoare/ i.culoare&;this'>pret ( i.pret;this'>cantitate ( i.cantitate;return *this;
0void set3cantitate%int c&{
cantitate ( c;0
int get3cantitate%&{return this'>cantitate;
0void set3culoare%char * cl&{
strcp%culoare/ cl&;0char * get3culoare%&{
return this'>culoare;0void set3senumire%char * d&{
i %this'>denumire& delete this'>denumire;this'>denumire ( ne charstrlen%d - !&;strcp%this'>denumire/ d&;
0char * get3denumire%&{
return this'>denumire;0void set3pret%double p&{
-
8/20/2019 Poo proiect
6/9
pret ( p;0riend ostream 1 operator > %istream 1/ 7ngredient 1&;
7ngredient operator-( %int 4& {this'>cantitate -( 4;
return *this;0
0;
int 7ngredient::numaringrediente ( );ostream 1 operator
-
8/20/2019 Poo proiect
7/9
this'>nringred ( nr;this'>denumiree ( ne charstrlen%d& - !;strcp%this'>denumiree/ d&;this'>lista ( ne 7ngredientnr;or %int ( ); < nr; --& this'>lista ( li;
00;
void main%&{
7ngredient i!%+iper+/ +negru+/ )."/ !)&;cout tip/ +necunoscut+&;this'>nume ( ne charstrlen%+anonim+& - !;strcp%this'>nume/ +anonim+&;varsta ( );numar--;
0animal%char *n/ char t5)/ int v&{
strcp%this'>tip/ t&;this'>nume ( ne charstrlen%n& - !;strcp%this'>nume/ n&;this'>varsta ( v;numar--;
0
animal%animal 1 sursa&{
strcp%this'>tip/ sursa.tip&;this'>nume ( ne charstrlen%sursa.nume& - !;strcp%this'>nume/ sursa.nume&;this'>varsta ( sursa.varsta;numar--;
0animal 1 operator ( %const animal 1 a&{
-
8/20/2019 Poo proiect
8/9
i %this'>nume& delete this'>nume;strcp%this'>tip/ a.tip&;this'>nume ( ne charstrlen%a.nume& - !;strcp%this'>nume/ a.nume&;this'>varsta ( a.varsta;return *this;
0
riend ostream 1 operator tip;0void set3nume%char * n&{
i %this'>nume& delete this'>nume;this'>nume ( ne charstrlen%n& - !;strcp%nume/ n&;
0char * get3nume%&{
return this'>nume;
0static int get3numar%&{
return numar;02animal%&{
i %this'>nume& delete this'>nume;numar'';
0
-
8/20/2019 Poo proiect
9/9
operator int %&{
return this'>varsta;0animal operator -(%int 4&{
this'>varsta -( 4;
return *this;0bool operator < %animal 1 a&{
return this'>varsta