手把手教你c++函数模板和模板函数
1、鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

2、点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需

3、为什么使用函数模板?
排序问题
实际应用中经常遇到的问题
对学生按照成绩排序
对事件按照发生的时间排序
对产品按照销售量和顾客的投诉率排序

4、采用的排序算法完全相同
不同是待排序对象的类型,和比较大小的函数
函数sortA用于对类型为A的一组变量排序
函数sortB用于对类型为B的一组变量排序
sortA和sortB中,除了被排序数组、存储被排序数组元素的变量的 类型声明不同之外,其它部分可以完全相同

5、如何避免编写重复代码?
对不同类型的数据,都需要执行相同的算法A
则可只编写一个函数模板,由编译系统根据函 数调用的实参类型自动产生模板函数并调用之

6、对排序问题
template<class T>
return-type sort(…T…)
由编译系统根据sort函数调用时实参的类型,自动生 成相应的模板函数

7、下面是一个输出数组中所有元素的函数模板:
void print( const T array[], int size){
int i;
for ( i =0; i<size; i++) cout<<array[i]; return;
}
string telephoneNubmers[nubmer3];
……
print(undergraduates, number1);
……
print(telephoneNumbers, number3);
……
print(graduates, number2);
……

8、是不是很简单,对待c++要勤加练习,熟能生巧,做好笔记,及时温故知新,这样才能学好
