Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <iostream>
- #include <string>
- class Thing
- {
- private:
- std::string name;
- public:
- Thing(std::string n):name(n){}
- std::string getName(){return name;}
- };
- class Article : public Thing
- {
- private:
- float price;
- public:
- Article():price(0),Thing("Free give-away"){}
- Article(std::string n, float p)
- :Thing(n),
- price(p)
- {
- }
- float getPrice(){return price;}
- };
- class Shop
- {
- private:
- std::string name;
- public:
- Shop():name("Scam Inc."){};
- Shop(std::string n):name(n){};
- std::vector<Article> articles;
- void add(Article a){ articles.push_back(a); }
- void remove(std::string aname){}
- void buy(std::string article)
- {
- std::vector<Article>::iterator it;
- for(it = articles.begin(); it != articles.end(); ++it)
- {
- if((*it).getName() == article)
- std::cout << "Bought " << article << std::endl;
- }
- }
- void listArticles()
- {
- std::vector<Article>::iterator it;
- for(it = articles.begin(); it != articles.end(); ++it)
- {
- std::cout << (*it).getName() << "\t" <<(*it).getPrice() <<std::endl;
- }
- }
- };
- class Guy
- {
- private:
- std::string name;
- float money;
- public:
- Guy(std::string n):name(n){}
- std::string getName(){return name;}
- void work(){money += 5; }
- void buy(Shop &s, std::string articledesc)
- {
- s.buy(articledesc);
- }
- };
- int main(int argc, char* argv[])
- {
- Article cheese("Cheese", 1.99);
- Article sausage("Sausages", 1.29);
- Article bread("Bread", 2.30);
- Article butter("Butter", 1.19);
- Article milk("Milk", 1.99);
- Article pizza("Pizza", 2.89);
- Article beer("Beer", 0.89);
- Article cigarettes("Cigarettes", 4.00);
- Shop edeka;
- edeka.add(cheese);
- edeka.add(sausage);
- edeka.add(bread);
- edeka.add(butter);
- edeka.add(milk);
- edeka.add(pizza);
- edeka.add(beer);
- edeka.add(cigarettes);
- edeka.listArticles();
- Article tv("TV", 899);
- Article fancytv("Fancy TV", 1499);
- Article hifi("HiFi Sound System", 1000);
- Article mb("Apple Mac Book", 1100);
- Article mbp("Apple Mac Book Pro", 1500);
- Shop mediaShop;
- mediaShop.add(tv);
- mediaShop.add(fancytv);
- mediaShop.add(hifi);
- mediaShop.add(mb);
- mediaShop.add(mbp);
- mediaShop.listArticles();
- Guy tiger("Tiger");
- tiger.work();
- tiger.buy(edeka, "Beer");
- tiger.buy(edeka, "Bread");
- tiger.buy(edeka, "Cheese");
- tiger.buy(mediaShop, "TV");
- int c;
- std::cin >> c;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement