网站建设资讯

NEWS

网站建设资讯

c++中模板的实现(模板类和模板函数)

[TOC]

在望花等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站建设,网络营销推广,成都外贸网站制作,望花网站建设费用合理。

模板

 当我们实现一个交换函数时,我们可以写成如下。

void Swap(int& x, int& y)
{
    int tmp = x;
    x = y;
    y = tmp;
}

 这里只能交换两个整数,当我们一会需要实现两个字符交换时,我们有需要重新写个函数,然而两份代码有很多相同的部分,这样是不是很麻烦。假如我们只需要写一份代码便可以实现不同类型的交换,是不是很棒。是的,这个编译器已经帮我们设计好了,这就是所谓的泛型编程。
 模板是泛型编程的基础,所谓泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板分为模板函数和模板类。

一、模板函数
模板函数的格式:

template< class 形参名1, class 形参名2, class 形参名n>
返回类型 函数名(参数列表)
{...}
模板形参的定义既可以使用class,也可以使用typename,含义是相同的。
刚刚的Swap函数就可以用模板函数搞定了。

模板参数隐式实例化
template
void Swap(T& x, T& y)
{
    T tmp = x;
    x = y;
    y = tmp;
}

看看是不是可以进行多种类型交换,测试结果:
c++中模板的实现(模板类和模板函数)
这样我们的顺序表和链表就可以实现任意类型的程序了。


新闻名称:c++中模板的实现(模板类和模板函数)
浏览地址:http://njwzjz.com/article/jjsseg.html