二级C 模板:为什么要引入模板
文章作者 100test 发表时间 2007:03:10 16:42:43
来源 100Test.Com百考试题网
模板是 C 中相对较新的一个特性。模板使程序员能够快速建立具有类型安全的类库集合和函数集合,它的实现方便了更大规模的软件开发。
我们为什么要使用模板呢?
首先我们分析这样两种情况:
第一种情况是关于函数。考察两个函数,一个交换两个整型数,另一个交换两个浮点数。两个 swap() 的主体行为是一样的,无非一个是处理 int 型的,一个是处理 float 型的。所以可以通过重载函数来实现。两个函数分别如下:
void swap(int &.a,int &.b)
{
int temp=a.
a=b.
b=temp.
}
swap(float&.a,float &.b)
{
float temp=a.
a=b.
b=temp.
}
但是有了模板后,重载就不必要了。
第二种情况是关于类。对于 student 类的链表,我们有:
class student
{
//……..
private:
float a.
}
class studentlist
{
public:
studentlist().
void add(student&.).
void remove(student&.).
~studentlist().
private:
//….
}
该链表类将 student 类对象作为链表结点,进行插入、删除和查找处理。
同样如果想处理其他的任何一种类类型的对象作为结点的链表,我们必须重新对这链表进行定义。因为所定义的类的行为没有任何变化,只是处理的结点之类型有所不同,所以使得重新定义链表的工作很烦人。但是模板可以解决这个问题。下面就来讲一讲模板的定义和使用。