|
1鱼币
#include "stdafx.h"
#include <iostream>
using namespace std;
int Num[5];
template <typename T>
void Swap(T &a,T &b);
struct job
{
char name[20];
double salary;
int floor;
};
//template <> void Swap<job>(job &j1,job &j2);
void Show(job &j);
int _tmain(int argc, _TCHAR* argv[])
{
int i=10,y=20;
cout<<"i,j="<<i<<","<<y<<endl;
Swap(i,y);
cout<<"Now i="<<i<<" y="<<y<<endl;
job one={"Mr.qian",213.2,1};
job two={"Mr.qian1",231.2,2};
Show(one);
Show(two);
Swap(one,two);
Show(one);
Show(two);
return 0;
}
template <typename T>
void Swap(T &a,T &b)
{
T temp;
temp=a;
a=b;
b=temp;
}
/*template <> void Swap<job>(job &j1,job &j2)
{
double t1;
int t2;
t1=j1.salary;
j1.salary=j2.salary;
j2.salary=t1;
t2=j1.floor;
j1.floor=j2.floor;
j2.floor=t2;
}*/
void Show(job &j)
{
cout<<"name:"<<j.name<<"salary:"<<j.salary<<"floor:"<<j.floor<<endl;
}
template <> void Swap<job>(job &j1,job &j2) 和template <typename T>
void Swap(T &a,T &b);
这2个模版之间有什么区别 我把template <> void Swap<job>(job &j1,job &j2) 注释掉以后的结果一样 书上是说是实例化 但是他们得到的结果是一样的 那又有什么区别?求指教
|
|