How can
shared_ptr<SubClass>
be a subclass ofshared_ptr<BaseClass>
?
我想知道如何实现模板类 C<T>
这样 C<SubClass>
是 C<BaseClass>
的子类?
我已经观察到上述情况,例如 shared_ptr<SubClass>
和 shared_ptr<BaseClass>
,在这里我可以将前者分配给后者。
最佳答案
类(class)shared_ptr<SubClass>
不是继承自 shared_ptr<BaseClass>
.
I've observed the above with, e.g.,
shared_ptr<SubClass>
andshared_ptr<BaseClass>
, where I can assign the former to the latter.
shared_ptr<BaseClass>
有这样的赋值运算符template< class Y >
shared_ptr& operator=( const shared_ptr<Y>& r ) noexcept;
在 Y
时进行转换是SubClass
.
关于c++ - `shared_ptr<SubClass>` 如何成为 `shared_ptr<BaseClass>` 的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125202/