这是示例:
tempalate <class T> class MyClass : public T {
public:
MyClass(std::weak_ptr<MyClass> parent) {
//--------------------------------------+
// |
// V
auto child = std::make_shared<MyClass>(this);
}
};
怎么做?如果我需要从 派生MyClass
,std::enable_shared_from_this<MyClass<T>>
我如何在没有多重继承的情况下做到这一点,因为MyClass
已经从另一个T
祖先派生,我需要调用shared_from_this()
构造函数?
在我的情况下T
,可能是某个类继承自enable_shared_from_this<T>
,但并非总是如此