1

いくつかの条件に従って、実行時にテンプレート引数を選択したい C++ のテンプレート化された派生クラスがあるとします。何かのようなもの:

class Base {
  public:
    virtual void do_something() = 0;
};

template <typename T, typename U>
class Derived : public Base {
  public:
    virtual void do_something() { ... }
};

Base* obj;
if (... /* runtime conditon #1 */ )
  obj = new Derived<T1, U1>();
else if (... /* runtime condition #2 */ )
  obj = new Derived<T1, U2>();
...

obj->do_something();

この状況を一般的に言及したいのですが、それをどのように呼ぶべきかわかりません。それの標準的な名前はありますか?ある種のデザインパターンまたはイディオムですか?

4

1 に答える 1