C++では、templateという予約語を使って定義する。C++は、データ型の異なる同名の関数定義(オーバーロード)が可能だが、通常はデータ型ごとに一つ一つ定義する必要がある。テンプレートを使用すると、一つのクラスを複数のデータ型に適用できるため、データ型ごとにクラスを作成する必要がなくなる。intとdoubleで、大きい方の値を返す関数を用意する場合、Cであれば、次のようになる。d2);}C++でオーバーロードを用いると同じ関数名にすることができるが、必要となる型全てのオーバーロード関数を定義する必要がある。内容が同じなのであれば、テンプレートを用いれば、一回テンプレート関数を定義するだけで済む。d2);}複数のデータ型の処理を一つにまとめることができるため、コード量を大幅に削減することができる。型を明示する必要があるため、型保証をすることもできる。参加の案内ダウンロード↑本の。