标签: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可以变化为class 10 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 }
----------------------->
标签:pen include cin get ace class template 使用 没有
原文地址:http://www.cnblogs.com/lanjianhappy/p/7295585.html