構文
Pattern1
template <class type> function-declarator例
template<class T> void sample(T value);
Pattern2
template <typename type> function-declarator例
template<typename T> void sample(T value);
サンプル
#include "stdafx.h"
using namespace std;
template<typename T>
T Plus(T value1, T value2) {
return value1 + value2;
}
template<typename T, typename T1, typename T2>
T Minus(T1 value1, T2 value2) {
return value1 - value2;
}
int main(array<System::String ^> ^args)
{
int result1 = Plus<int>(1, 2);
cout << result1 << endl;
int value1 = 3;
float value2 = 1.2f;
double result2 = Minus<double, int, float>(value1, value2);
cout << result2 << endl;
return 0;
}
関連記事
Java
ジェネリック(Generics) ~<T>型 / クラスやメソッドを汎用的に使えるようにする~http://blogs.yahoo.co.jp/dk521123/32099558.html
C#
ジェネリック(Generics) ~<T>型 / 入門編 ~http://blogs.yahoo.co.jp/dk521123/22167448.html
ジェネリック(Generics) ~<T>型 / サンプルプログラム編 ~
http://blogs.yahoo.co.jp/dk521123/32873022.html