fork download
  1. #include <memory>
  2.  
  3. class Base
  4. {
  5. public:
  6. Base() {};
  7. virtual void do_stuff() = 0;
  8. };
  9.  
  10. class Derived : public Base {
  11. public:
  12. Derived() {}
  13. void do_stuff() { };
  14. };
  15.  
  16.  
  17. class Foo
  18. {
  19.  
  20. public:
  21. Foo() {
  22. mPtr = std::make_shared<Derived>();
  23. }
  24.  
  25. protected:
  26. std::shared_ptr<Base> mPtr;
  27. };
  28.  
  29. int main()
  30. {
  31. Foo foo;
  32. }
  33.  
Success #stdin #stdout 0s 5480KB
stdin
Standard input is empty
stdout
Standard output is empty