1 #include <iostream>
2 using namespace std;
3
4 void myswap01(int& x,int& y)
5 {
6 int temp=0;
7 temp=x;
8 x=y;
9 y=temp;
10 }
11
12 void myswap02(char& x,char& y)
13 {
14 char temp=0;
15 temp=x;
16 x=y;
17 y=temp;
18 }
19
20 template <typename T>
21 void myswap(T& x,T& y)
22 {
23 T temp;
24 temp=x;
25 x=y;
26 y=temp;
27 }
28
29 int main()
30 {
31 int a=10,b=20;
32 char p='P',q='Q';
33
34 myswap01(a,b);
35 cout<<"a="<<a<<" "<<"b="<<b<<endl;
36
37 myswap02(p,q);
38 cout<<"p="<<p<<" "<<"q="<<q<<endl;
39
40 //显示调用
41 cout<<endl<<endl;
42 myswap<int>(a,b);
43 cout<<"a="<<a<<" "<<"b="<<b<<endl;
44
45 myswap<char>(p,q);
46 cout<<"p="<<p<<" "<<"q="<<q<<endl;
47
48 //自动类型推导,一般很少用
49 cout<<endl<<endl;
50 myswap(a,b);
51 cout<<"a="<<a<<" "<<"b="<<b<<endl;
52
53 myswap(p,q);
54 cout<<"p="<<p<<" "<<"q="<<q<<endl;
55
56
57 return 0;
58 }