1. ホーム
  2. c++

[解決済み] C++のテンプレートパラメータをサブクラスに制限する

2023-05-07 20:23:07

質問

どうすればテンプレート・パラメータ T を特定のクラスのサブクラスとすることができます。 Baseclass ? このようなものです。

template <class T : Baseclass> void function(){
    T *object = new T();

}

どのように解決するのですか?

この場合、あなたはすることができます。

template <class T> void function(){
    Baseclass *object = new T();

}

T が Baseclass のサブクラスでない場合、これはコンパイルされません(あるいは T Baseclassである)。