/*设计一个函数模板实现两个数据的交换,在主程序中用几种不同的类型数据调用函数*/
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<cstdlib>
template<typename T>
void swap(T&a,T &b) //函数模板的定义,其中T是抽象的类型
{
T c;
c=a;a=b;b=c;
}
int main()
{
system("COLOR 3d");
int x0=10,y0=20; //初始化
cout<<setw(6)<<x0<<setw(6)<<y0<<endl; //输出源数据
swap(x0,y0);
cout<<setw(6)<<x0<<setw(6)<<y0<<endl; //输出交换后的数据
char x1='s',y1='h'; //定义字符数据
cout<<setw(6)<<x1<<setw(6)<<y1<<endl;
swap(x1,y1);
cout<<setw(6)<<x1<<setw(6)<<y1<<endl;
return 0;
}
设计一个函数模板,也就是统一一个类型,再主函数中系统会根据相应的数据进行调用,不需要定义相应的函数类型了。通过这种操作使用时更方便简洁。
程序中通过
template<typename T> //定义一个通用类型T
void swap(T &a,T &b) //相应的函数实现部分
{
T c;
c=a;a=b;b=c;
}
定义一个模板