Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1. #include <iostream>
  2. #include<vector>
  3. #include <string>
  4. #include <sstream>
  5. #include<fstream>
  6. using namespace std;
  7.  
  8. class Locuinta
  9. {
  10. public:
  11.     char numeClient[50];
  12.     int suprafataUtila;
  13.     double pretChirie;
  14.     int discount;
  15. public:
  16.     Locuinta();
  17.     Locuinta(char numeClient[], int suprafataUtila, double pretChirie, int discount);
  18.     friend istream &operator >> (istream &input, Locuinta &p);
  19.     ~Locuinta();
  20. };
  21.  
  22. istream &operator >> (istream &input, Locuinta &p)
  23. {
  24.     input >> p.numeClient >> p.suprafataUtila >> p.pretChirie >> p.discount;
  25.     return input;
  26. }
  27.  
  28. class Casa:public Locuinta
  29. {
  30. public:
  31.     int suprafataCurte;
  32.     int nrEtaje;
  33.     int suprafataEtaje;
  34. public:
  35.     Casa();
  36.     Casa(char numeClient[], int suprafataUtila, double pretChirie, int discount, int suprafataCurte, int nrEtaje, int suprafataEtaje);
  37.     Casa operator++();
  38.     // Overloading [] operator to access elements in array style
  39.     const int operator[](int index);
  40.     ~Casa();
  41. };
  42.  
  43. Locuinta::Locuinta()
  44. {
  45.     strcpy(numeClient,"NULL");
  46.     suprafataUtila = 20;
  47.     pretChirie = 0.0;
  48.     discount = 1;
  49. }
  50.  
  51. Locuinta::Locuinta(char numeClient[], int suprafataUtila, double pretChirie, int discount)
  52. {
  53.     strcpy(this->numeClient, numeClient);
  54.     this->suprafataUtila = suprafataUtila;
  55.     this->pretChirie = pretChirie;
  56.     this->discount = discount;
  57. }
  58.  
  59. Locuinta::~Locuinta()
  60. {
  61.     // cout<<"Destructor"<<endl;
  62. }
  63.  
  64. Casa::Casa():Locuinta()
  65. {
  66.     int suprafataCurte;
  67.     int nrEtaje;
  68.     int suprafataEtaje;
  69. }
  70.  
  71. Casa::Casa(char numeClient[], int suprafataUtila, double pretChirie, int discount, int suprafataCurte, int nrEtaje, int suprafataEtaje):Locuinta(numeClient,suprafataUtila,pretChirie,discount)
  72. {
  73.     this->suprafataCurte=0;
  74.     this->nrEtaje=0;
  75.     this->suprafataEtaje=0;
  76. }
  77.  
  78. Casa Casa::operator++()
  79. {
  80.     Casa temp(*this);
  81.     discount++;
  82.     return temp;
  83. }
  84.  
  85. const int Casa::operator[](int index)
  86. {
  87.     int A[7];
  88.     A[2]=this->suprafataUtila;
  89.     return A[2];
  90. }
  91.  
  92. Casa::~Casa()
  93. {
  94.     // cout<<"Destructor"<<endl;
  95. }
  96.  
  97. int main()
  98. {
  99.     Locuinta a,b;
  100.     Locuinta c("Popescu Octavian",54,12.1,2);
  101.     a=c;
  102.     cin>>b;
  103.     Casa d;
  104.     ++d;
  105.     cout<<d[2];
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement