Return to Tech/cpluplu

C/C++ Programming - Template

About template
テンプレートについて
テンプレート機能は 入出力用の型を固定しない
汎用的な関数とかクラスを作成するのに使います。

例 int型、float型を 受け付けるSum関数を作成します

Sumという関数の実装は一つだけど
下のような使い方ができます

(int型) = Sum(int型の値1, int型の値2)
(float型) = Sum(float型の値1, float型の値2)
example
#include <stdio.h>

template <class Type>
 Type Sum(Type a, Type b) {
  return a + b;
 }

template int Sum(int, int);
template float Sum(float, float);

int main(void) {
  int iNum1 = 3;
  int iNum2 = 5;
  float dNum1 = 3.5;
  float dNum2 = 1.0;

  printf("%d + %d = %d\n",
    iNum1, iNum2, Sum(iNum1, iNum2));

  printf("%.1f + %.1f = %.1f\n",
    dNum1, dNum2, Sum(dNum1, dNum2));

  return 0;
}
ソースおわり

実行結果
3 + 5 = 8
3.5 + 1.0 = 4.5

Return to Tech/cpluplu