打印本文 打印本文  关闭窗口 关闭窗口  
二级C++模板:为什么要引入模板
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:40:15  文章录入:杜斌  责任编辑:杜斌

模板是 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 类对象作为链表结点,进行插入、删除和查找处理。

同样如果想处理其他的任何一种类类型的对象作为结点的链表,我们必须重新对这链表进行定义。因为所定义的类的行为没有任何变化,只是处理的结点之类型有所不同,所以使得重新定义链表的工作很烦人。但是模板可以解决这个问题。下面就来讲一讲模板的定义和使用。

打印本文 打印本文  关闭窗口 关闭窗口