Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. struct Unit
  4. {
  5. explicit Unit(size_t id) : _id(id){}
  6. size_t id() const {return _id;}
  7. private:
  8. size_t _id;
  9. };
  10.  
  11. struct Animal : Unit
  12. {
  13. Animal(std::string const & name, size_t id) : Unit(id), _name(name){}
  14. std::string const & name() const {return _name;}
  15. private:
  16. std::string _name;
  17. };
  18.  
  19. struct Man : Unit
  20. {
  21. explicit Man(size_t id) : Unit(id){}
  22. };
  23.  
  24. struct Bear : Animal
  25. {
  26. explicit Bear(size_t id) : Unit(id), Animal("bear", id){}
  27. };
  28.  
  29. struct Pig : Animal
  30. {
  31. explicit Pig(size_t id) : Unit(id), Animal("pig", id){}
  32. };
  33.  
  34. struct ManBearPig : Man, Bear, Pig
  35. {
  36. explicit ManBearPig(size_t id) : Unit(id), Man(Id), Bear(id), Pig(id) {}
  37. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement