===== オーバーロード =====
オーバーロード:同じ関数名の関数を引数の型、引数の数+戻り値の型の違いで、別の処理で呼び出す機能\\
int maxVal(int); //引数をそのまま返す関数
int maxVal(int, int);//2つの引数のうち大きいほうを返す
int maxVal(int, int, int); //3つの引数のうち大きいものを返す
int maxVal(int, int, int, int); //4つの引数のうち大きいものを返す
など
===== テンプレート =====
テンプレート関数:型をパラメータとして、
char maxValue(char a, char b)
int maxValue(int a, int b)
float maxValue(float a, float b)
double maxValue(double a, double b)
(型) maxValue((型) a, (型) b)
{
return((a >= b)? a : b);
}
(int)
(型->int) maxValue((型->int) a, (型->int) b)
{
return((a >= b)? a : b);
}
↓
//テンプレート関数 .hに書く!
template
T maxVal(T a, T b)
{
return((a >= b)? a : b);
}
テンプレートのパラメータの指定は、```typename T```でも```class T```でも、動きは変わりませんが、「組み込み型」なのか、「class」なのか明示したいときには、分けて書くことがあります!\\