定義
函數模板——顧名思義,這是一個模板;模板,使物體成固定型狀的模具。那麼函數模板,就是用來生成“固定形狀”的函數的模具。“固定形狀的函數”可以理解爲操作步驟相同的方法。
舉一個生活中的例子:
我想喝西瓜汁,但是我不會使用榨汁機。
然後我媽告訴我:你想喝某水果汁,就把某水果放進榨汁機裏,開機就可以了。(定義一個函數模板)
如果我想喝蘋果汁,那麼我會把蘋果放進榨汁機裏;(不再需要問我媽,怎麼榨蘋果汁,我只需要把蘋果代替某水果,我就知道怎麼榨蘋果汁了)
如果我想喝橙子汁,那麼我會把橙子放進榨汁機裏;(不再需要問我媽,怎麼榨橙汁,我只需要把橙子代替某水果,我就知道怎麼榨橙子汁了)
爲什麼需要這個功能,沒有這個功能怎麼辦
如果沒有:你想喝某水果汁,就把某水果放進榨汁機裏,開機就可以了。(定義一個函數模板)
那麼我想喝蘋果汁的時候我要問怎麼榨蘋果汁;
我想和西瓜汁的時候我要問怎麼榨西瓜汁;
....
該功能的具體應用
1
2
3
4
5
6
7
8
9
10
11
12
|
//定義一個函數模板,T=>"某水果", template < typename T> T
zhazhi(T x){ startTheMachine(); return x; } int main( int argc, char *
argv[]){ zhazhi(Apple); //將Apple類型代替T生成zhazhi函數 zhazhi(Orange); zhazhi(Banana); return 0; }
|