fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <memory>
  4.  
  5. class Medium
  6. {
  7. std::string titel;
  8. bool status;
  9. int ID;
  10. static int currentID;
  11. public:
  12. Medium(std::string initTitel): titel(initTitel), status(false), ID(currentID++) {}
  13. virtual ~Medium() {}
  14. virtual void ausgabe() const
  15. {
  16. std::cout << "ID: " << ID << std::endl;
  17. std::cout << "Titel: " << titel << std::endl;
  18. if(status)
  19. {
  20. /** write your code */
  21. std::cout << "Something: (egal)" << std::endl;
  22. }
  23. else
  24. {
  25. std::cout << "Status: Medium ist zurzeit nicht verliehen.(auch egal)" << std::endl;
  26. }
  27. }
  28. };
  29. int Medium::currentID = 1;
  30.  
  31. class Buch: public Medium
  32. {
  33. private:
  34. std::string autor;
  35. public:
  36. //Buch() = default;
  37. Buch(std::string initTitel, std::string initAutor): Medium(initTitel), autor(initAutor) {}
  38. virtual ~Buch(){};
  39.  
  40. void ausgabe()const override
  41. {
  42. Medium::ausgabe();
  43. std::cout << "autor :" << autor << std::endl;
  44. }
  45. };
  46. int main ()
  47. {
  48. std::unique_ptr<Medium> some_objects[2];
  49. some_objects[0] = std::make_unique<Medium>("Some Title");
  50. some_objects[1] = std::make_unique<Buch>("Title 2", "user9775960");
  51.  
  52. for(auto& obj_type: some_objects)
  53. obj_type->ausgabe();
  54. return 0;
  55. }
  56.  
Success #stdin #stdout 0s 4392KB
stdin
Standard input is empty
stdout
ID: 1
Titel: Some Title
Status: Medium ist zurzeit nicht verliehen.(auch egal)
ID: 2
Titel: Title 2
Status: Medium ist zurzeit nicht verliehen.(auch egal)
autor :user9775960