可能性の重複:
Why can templates only be implemented in the header file?
Why should the implementation and the declaration of a template class be in the same header file?テンプレートと分割
私はのADTのカップルを作成し、その性能を比較するつもりです(私はデータ構造のコースを取って実験したい、ノート:私たちのインストラクターはJavaを使います)。私はジェネリッククラスを作成して、特定のデータ型に縛られていないようにしたい。私はテンプレート化されたクラスを分割することは不可能であることを前に読んでいました。コードをきれいに保つ最良の方法は何ですか?最も明白なアプローチは、javaなどの実装を隠すことなく、単純に.cppファイルを使用することです。私が使用できる他のアプローチはありますか?
短い答えはすべてをヘッダーに残すことです。ちょっと長いバージョンは、コンパイル時にすべてがヘッダーに終わることを確認することです。 (言い換えれば、複数のファイルがある場合は、ヘッダーにそれらを#includeする必要があります) – Corbin
ヘッダーファイルにメソッドを定義しないようにしようとしていますか? –
C++ 11のexternテンプレートを使用するか、ヘッダに残しておきます。 – chris