#include <memory>
class Base
{
std::shared_ptr<Base> create() const; // Returns a default constructed object
}
假设所有派生到任何程度的成员Base
都是可复制构造和默认构造的。我想要
std::shared_ptr<Base> create() const;
创建适当动态类型对象的方法,但我不想使用样板代码。
是否可以制作
std::shared_ptr<Base> create() const;
静态绑定,但在内部以某种方式找到正确的类型并使用默认构造函数创建对象?可能使用 C++11。