C++で渡された型名(文字列)を使用してオブジェクトの標本を返すことは可能ですか? 私は基本抽象クラスBase
といくつかの派生クラスを持っています。コード例:名前でオブジェクトを作成します
class Base
{
/* ... */
};
class Der1 : public Base
{
/* ... */
};
class Der2 : public Base
{
/* ... */
};
そして、私はのような機能を必要とする:誘導体クラスの
Base *objectByType(const std::string &name);
数は変更可能であると私はname
の切り替えや手で新しいオブジェクト型を返すようなものを作りたくありません。とにかくそれを自動的に行うことはC++で可能ですか?
p.s.私は純粋なC++コード(クロスプラットフォーム)が必要
dynamic_cast<Der1>(objectByType("Der1"));
:ように使い方はすべきに見えます。ブーストの使用は許可されています。
OS固有の質問です。どのOSについて話していますか? –
@sad_man、更新をご覧ください。私はクロスプラットフォームのバージョンが必要です。 – Ockonal
「デリバティブの数」はどのように変更可能ですか?あなたのアプリケーションの後にコンパイルされた外部ライブラリからデリバティブを呼び出そうとしますか? –