我希望有一个具有共享指针作为成员的类:
1
2
3
7-10
15
20-25
如何使指针指向派生类的实例?
答案 0 :(得分:2)
如果问题是关于分配一个普通的派生指针,你所要做的就是:
struct B { };
struct D : B { };
D *pd = new D;
shared_ptr<B> sp(pd);
如果问题是将shared_ptr转换为派生到shared_ptr到基类,你可以这样做:
shared_ptr<D> spd = make_shared<D>();
shared_ptr<B> sp = static_pointer_cast<B>(spd);