fork(1) download
  1. #include <iostream>
  2. #include <memory>
  3. #include <vector>
  4.  
  5. class base
  6. {
  7. public:
  8. virtual void foo() const
  9. {
  10. std::cout << "base!\n";
  11. }
  12. };
  13.  
  14. class derived : public base
  15. {
  16. public:
  17. void foo() const final override
  18. {
  19. std::cout << "derived!\n";
  20. }
  21. };
  22.  
  23. int main()
  24. {
  25. std::vector<std::unique_ptr<base>> bases;
  26. bases.push_back(std::unique_ptr<derived>(new derived));
  27. // bases.push_back(std::make_unique<derived>()); // <- falls make_unique verfügbar ist
  28. bases.front()->foo();
  29. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
derived!