How to make_shared a derived class?

后端 未结 1 509
夕颜
夕颜 2021-02-18 22:06

I want to use the make_shared function with a derived class, like below

class Base {
     public:
     typedef std::shared_ptr          


        
1条回答
  •  抹茶落季
    2021-02-18 23:12

    std::shared_ptr has a converting constructor that can make a shared_ptr from a shared_ptr, so the following should work:

    #include 
    class Base {
        public:
        typedef std::shared_ptr Ptr;
    };
    class Derived : public Base {};
    
    int main() {
        Base::Ptr myPtr = std::make_shared();
    }
    

    0 讨论(0)
提交回复
热议问题