#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を使用しています。