![]() ![]() |
|
二级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 类对象作为链表结点,进行插入、删除和查找处理。 同样如果想处理其他的任何一种类类型的对象作为结点的链表,我们必须重新对这链表进行定义。因为所定义的类的行为没有任何变化,只是处理的结点之类型有所不同,所以使得重新定义链表的工作很烦人。但是模板可以解决这个问题。下面就来讲一讲模板的定义和使用。 |
|
![]() ![]() |