Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. #include <vector>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. class Thing
  6. {
  7. private:
  8. std::string name;
  9. public:
  10. Thing(std::string n):name(n){}
  11. std::string getName(){return name;}
  12. };
  13.  
  14. class Article : public Thing
  15. {
  16. private:
  17. float price;
  18. public:
  19. Article():price(0),Thing("Free give-away"){}
  20. Article(std::string n, float p)
  21. :Thing(n),
  22. price(p)
  23. {
  24. }
  25. float getPrice(){return price;}
  26. };
  27. class Shop
  28. {
  29. private:
  30. std::string name;
  31. public:
  32. Shop():name("Scam Inc."){};
  33. Shop(std::string n):name(n){};
  34. std::vector<Article> articles;
  35. void add(Article a){ articles.push_back(a); }
  36. void remove(std::string aname){}
  37. void buy(std::string article)
  38. {
  39. std::vector<Article>::iterator it;
  40. for(it = articles.begin(); it != articles.end(); ++it)
  41. {
  42. if((*it).getName() == article)
  43. std::cout << "Bought " << article << std::endl;
  44. }
  45. }
  46. void listArticles()
  47. {
  48. std::vector<Article>::iterator it;
  49. for(it = articles.begin(); it != articles.end(); ++it)
  50. {
  51. std::cout << (*it).getName() << "\t" <<(*it).getPrice() <<std::endl;
  52. }
  53. }
  54. };
  55.  
  56. class Guy
  57. {
  58. private:
  59. std::string name;
  60. float money;
  61.  
  62. public:
  63. Guy(std::string n):name(n){}
  64. std::string getName(){return name;}
  65. void work(){money += 5; }
  66. void buy(Shop &s, std::string articledesc)
  67. {
  68. s.buy(articledesc);
  69. }
  70. };
  71.  
  72. int main(int argc, char* argv[])
  73. {
  74. Article cheese("Cheese", 1.99);
  75. Article sausage("Sausages", 1.29);
  76. Article bread("Bread", 2.30);
  77. Article butter("Butter", 1.19);
  78. Article milk("Milk", 1.99);
  79. Article pizza("Pizza", 2.89);
  80. Article beer("Beer", 0.89);
  81. Article cigarettes("Cigarettes", 4.00);
  82.  
  83. Shop edeka;
  84. edeka.add(cheese);
  85. edeka.add(sausage);
  86. edeka.add(bread);
  87. edeka.add(butter);
  88. edeka.add(milk);
  89. edeka.add(pizza);
  90. edeka.add(beer);
  91. edeka.add(cigarettes);
  92. edeka.listArticles();
  93.  
  94. Article tv("TV", 899);
  95. Article fancytv("Fancy TV", 1499);
  96. Article hifi("HiFi Sound System", 1000);
  97. Article mb("Apple Mac Book", 1100);
  98. Article mbp("Apple Mac Book Pro", 1500);
  99.  
  100. Shop mediaShop;
  101. mediaShop.add(tv);
  102. mediaShop.add(fancytv);
  103. mediaShop.add(hifi);
  104. mediaShop.add(mb);
  105. mediaShop.add(mbp);
  106.  
  107. mediaShop.listArticles();
  108.  
  109. Guy tiger("Tiger");
  110. tiger.work();
  111. tiger.buy(edeka, "Beer");
  112. tiger.buy(edeka, "Bread");
  113. tiger.buy(edeka, "Cheese");
  114. tiger.buy(mediaShop, "TV");
  115.  
  116. int c;
  117. std::cin >> c;
  118.  
  119. return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement