###前提・実現したいこと
異なる型のインスタンスを作成する関数を作成しています。
作成する型が異なる以外はすべて処理が同じためtemplate関数を使用して実装を共通化しようとしているのですが、内部で使用する型をテンプレートで指定する方法が分かりません。
引数や戻り値でtemplate引数を使用しない場合、template関数は使用できないのでしょうか?
###該当のソースコード
C++
1template<typename TClass>std::shared_ptr<SuperClass> Create(type) 2{ 3return std::make_shared<TClass>() 4} 5
TClassはSuperClassを継承している想定です。
typeでTClassの型を動的に切り替えたいと考えています。
たとえばtype-AならClassAのインスタンスを、type-BならClassBのインスタンスを作成するような感じです。
回答4件
あなたの回答
tips
プレビュー