28,29/11 课
目的:学习 C++的函数模板和类模板。
参考章节:以下内容选自钱能先生主编的《C++程序设计教程》
一书。
一, 为什么使用模板?
在算法相同,参数类型不同时简化函数重载功能,同样,类模板可以用不同类型
数据创建具有相同类结构的对象。请看示例。
二, 函数模板
例 1:
void swap(int& a, int &b)
{ int temp=a;
a=b;
b=temp;
}
void swap(float & a, float &b)
{float temp=a;
a=b;
b=temp;
}
template<class T>
void swap(T & a, T&b)
{T temp=a;
a=b;
b=temp;
}
例 2:
int max(int a, int b)
{ return a>b?a:b;}
float max(float a, float b)
{ return a>b?a:b;}
template<class T>
T max(T a, T b)
{ return a>b?a:b;}
应用实例:
#include<iostream.h>
template<class T>
T max(T a,T b){return a>b?a:b;}