2018/2/22
C++
1.模板函数
1.先创建函数和类的蓝图,使用占位符T来代替相应的数据类型,当程序需要时,编译器把模板中的每一个T替换为所提供的数据类型
2.如果某个函数对所有的数据类型进行相同的处理,则使用函数模板
3.如果某个函数对所有的数据类型进行不同的处理,则使用重载的方法
2.实践
#include<iostream>
#include<string>
#include<stdlib.h>
/*函数模板*/
template<class T>//这不意味着T是一个类,是泛型模板的通俗写法
void swap(T &a, T &b)
{
T temp = a;//把对象的定义和声明写在一起
a = b;
b = temp;
}
/*使用泛型编程,大大提升了效率,可以用一个程序解决几个问题*/
int main()
{
int i1 = 100, i2 = 200;
std::cout << "交换前,i1=" << i1 << ",i2=" << i2 << "\n";
swap<int>(i1, i2);//表示swap是一个函数模板
std::cout<< "交换后,i1=" << i1 << ",i2=" << i2 << "\n";
std::string s1 = "超人";
std::string s2 = "蝙蝠侠";
std::cout << "交换前,s1=" << s1 << ",s2=" << s2 << "\n";
swap(s1, s2);
std::cout << "交换后,s1=" << s1 << ",s2=" << s2 << "\n";
system("pause");
}