いくつかの特定の型パラメーターのみを受け入れるテンプレートクラス ( と呼びましょうFoo
) を作成したいと思います ( と のみdouble
としましょうfloat
)。通常、テンプレートはヘッダー ファイル ( .h
) に実装されます。これは、ユーザー コードでテンプレートがどのようにインスタンス化されるかがわからないためです。.cpp
この場合、次のように実装ファイル ( )でクラスを実装する方が理にかなっています。
// Foo.cpp:
template <class T>
class Foo
{
// Insert members here
};
typedef Foo<double> Foo_d;
typedef Foo<float> Foo_f;
これにより、Foo.cpp のコンパイル時にクラスがインスタンス化およびコンパイルされます。Foo_d
しかし、との別々の宣言を書かずにヘッダーファイルでこれを宣言するにはどうすればよいFoo_f
ですか?