Poo proiect

download Poo proiect

of 5

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