テンプレートの宣言と定義を、そのテンプレートを使用するファイルの中に含める場合、編成が定義の取り込みです。例:
main.cc
template <class Number> Number twice(Number original);
template <class Number> Number twice(Number original )
{ return original + original; }
int main()
{ return twice<int>(-3); }テンプレートを使用するファイルに、テンプレートの宣言と定義の両方を含んだファイルをインクルードした場合も、定義取り込み型編成を使用したことになります。例:
twice.h
#ifndef TWICE_H
#define TWICE_H
template <class Number>
Number twice(Number original);
template <class Number> Number twice( Number original )
{ return original + original; }
#endifmain.cc
#include “twice.h”
int main()
{ return twice(-3); }