#include <memory> #include <iostream> struct Good: std::enable_shared_from_this<Good> // note: public inheritance { std::shared_ptr<Good> getptr() { return shared_from_this(); } };