標籤:pen include cin get ace class template 使用 沒有
1 定義:
函數模板 只適用於參數個數相同但是類型不同 而且函數體相同的情況
2 這個例子沒有使用模板的情況
#include <iostream>using namespace std;void Swap(int &a, int &b){ int t = a; a = b; b = t;}void Swap(double &a, double &b){ double t = a; a = b; b = t;}int main1(){ //long a = 2; //long b = 3; //Swap(a, b);這樣不行 int a = 2; int b = 3; Swap(a, b);//但是變成double以後不行 為了通用引入模板 cout << a << b << endl; cin.get(); return 1;}
3 使用模板以後
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 /* 6 函數模板 只適用於參數個數相同但是類型不同 而且函數 7 體相同的情況 否則不可以 8 */ 9 template <typename T>//這裡typename可以變化為class10 void Swap(T &a, T &b)11 {12 T t = a;13 a = b;14 b = t;15 }16 17 int main2()18 {19 int a = 10;20 int b = 20;21 Swap(a, b);22 cout << a << b << endl;23 24 long c = 10;25 long d = 20;26 Swap(c, d);27 cout << c << d << endl;28 29 string sa = "hello";30 string sb = "zzong";31 Swap(sa, sb);32 cout << sa << sb << endl;33 34 cin.get();35 return 1;36 }
----------------------->
c++函數模板1