函數模闆(function template)
函數模闆:
1.建立通用的函數,函數的類型和形參的類型不用指定,而用一個虛拟的類型來代表。将資料類型參數化。
2.凡是函數體相同的多個函數都可以使用函數模闆。
有以下重載函數:
int Max(int, int, int);
float Max(float, float, float);
double Max(double, double, double);
建立一種模闆:
函數模闆的聲明:
template<typename _Ty1> //這個_Ty1就是虛拟類型
template<class_Ty2> //類模闆
函數模闆的定義:
_Ty1 Max(_Ty1 a, _Ty1 b, _Ty1 c)
{
if (c > a)a = c;
if (b > a)a = b;
return a;
}
函數的調用:
int x=10, y=15, z=20;
int max = Max(x, y, z);
cout << max << endl;
float x1 = 10.2, y1= 15.6, z1 = 20.8;
float max1 = Max(x1, y1, z1);
cout << max1 << endl;
double x2 = 0.2, y2 = 5.6, z2 = 2.8;
double max2 = Max(x2, y2, z2);
cout << max2 << endl;
參數化:
将具體的資料,做成參數,去解決不同資料的問題。
将具體的資料類型,做成參數,去解決不同資料類型的問題。
參數化,是軟體開發過程中必須具有的一種思維模式。它提出将各種相同的資料用參數來代替,實際使用的過程中,我們隻需要将具體的資料或者類型帶入到參數中即可。