Advertisement
Jana007

nedviznina

Apr 25th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. class Nedviznina{
  5. protected:
  6. char *adresa;
  7. int kv,cena;
  8. public:
  9. Nedviznina(){
  10. adresa=new char[0];
  11. }
  12. //copy
  13. Nedviznina(const Nedviznina &n){
  14. adresa=new char[strlen(n.adresa)+1];
  15. strcpy(adresa,n.adresa);
  16. kv=n.kv;
  17. cena=n.cena;
  18. }
  19. //operator =
  20. Nedviznina& operator=(const Nedviznina &n){
  21. if(this!=&n){
  22. delete [] adresa;
  23. adresa=new char[strlen(n.adresa)+1];
  24. strcpy(adresa,n.adresa);
  25. kv=n.kv;
  26. cena=n.cena;
  27. }
  28. return *this;
  29. }
  30. //destructor
  31. ~Nedviznina(){
  32. delete [] adresa;
  33. }
  34. //metodi
  35. int Cena(){
  36. return kv*cena;
  37. }
  38. void pecati(){
  39. cout<<adresa<<", Kvadratura: "<<kv<<", Cena po Kvadrat: "<<cena<<endl;
  40. }
  41. float danokNaImot(){
  42. return (float)kv*cena*5/100;
  43. }
  44. char *getAdresa(){
  45. return adresa;
  46. }
  47. //operator >>
  48. friend istream& operator>>(istream &in,Nedviznina &n){
  49. in>>n.adresa;
  50. in>>n.kv;
  51. in>>n.cena;
  52. return in;
  53. }
  54. };
  55. class Vila:public Nedviznina{
  56. private:
  57. int danok;
  58. public:
  59. Vila(){}
  60. //metodi
  61. void pecati(){
  62. cout<<adresa<<", Kvadratura: "<<kv<<", Cena po Kvadrat: "<<cena<<", Danok na luksuz:
  63. "<<danok<<endl;
  64. }
  65. float danokNaImot(){
  66. return Nedviznina::Cena()*(5+danok)/100;
  67. }
  68. //operator >>
  69. friend istream& operator>>(istream &in,Vila &v){
  70. return in>>v.adresa>>v.kv>>v.cena>>v.danok;
  71. }
  72. };
  73. int main(){
  74. Nedviznina n;
  75. Vila v;
  76. cin>>n;
  77. cin>>v;
  78. n.pecati();
  79. cout<<"Danok za: "<<n.getAdresa()<<", e: "<<n.danokNaImot()<<endl;
  80. v.pecati();
  81. cout<<"Danok za: "<<v.getAdresa()<<", e: "<<v.danokNaImot()<<endl;
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement