二级C++模板:为什么要引入模板
模板是C++中相对较新的特性。模板程序员可以快速建立具有类型安全的类库和函数集,它的实现方便了更大规模的软件开发。
为什么要使用模板?
首先,我们来分析以下两种情况:
第一种情况是关于函数。考虑两个函数,一个交换两个整数,另一个交换两个浮点数。两个swap()的主要行为是相同的,只是一个处理int类型,另一个处理float类型。所以可以通过重载函数来实现。这两个功能如下:
无效互换(int &a,int &b)
{
int temp = a;
a = b;
b =温度;
}
互换(浮动&a,浮动&b)
{
浮点温度= a;
a = b;
b =温度;
}
但是有了模板,重载就没有必要了。
第二种情况是关于类。对于学生类的链表,我们有:
班级学生
{
//…… ..
私人:
浮动a;
}
班级学生名单
{
公共:
student list();
void add(学生&);
void remove(学生&);
~ student list();
私人:
//….
}
链表类以student类对象作为链表节点,执行插入、删除和搜索的过程。
如果我们还想将任何其他类型的对象作为节点的链表来处理,我们必须重新定义这个链表。因为定义的类的行为没有变化,只有处理的节点类型不同,所以重新定义链表很烦人。但是模板可以解决这个问题。先说模板的定义和使用。
0条评论