数据结构——模板

本学期,我们开始了数据结构这门课的学习。这门课对我们来说很重要,很核心,是重要的算法的学习。
模板是对具有相同特性的函数或类的再抽象,模板是一种参数化的多态性工具。所谓参数化多态性,是指将程序所处理的对象的类型参数化,使一段程序代码可以用于处理多种不同类型的对象。采用模板编程,可以为各种逻辑功能相同而数据类型不同的程序提供一种代码共享的机制。
模板在我理解来说就是将用一个代码,储存下来,需要解决问题时调用出来运用到实际问题上。
模板分为模板函数和模板类

实例:
int Max(int x,int y){
if(x>y) return x;
else return y;
}

double Max(double x,double y){
if(x>y) return x;
else return y;
}
以上是求最大值;
int abs(int a){
return a<0?-a:a;
}

double abs(double a){
return a<0?-a:a;
}
以上是求绝对值
这两组问题均有两个函数。
●对于同一问题,各函数只是参数类型不一样,其功能在本质上完全相同。
●若能写一段通用代码,适用于各种数据类型,则代码的可重用性大大提高。
●函数模板就是为满足这一需求而产生的。
经过模板的形式转化
template
T Max(T x,T y){
return (x>y)?x:y;
}
template //模板定义,T为模板参数
T abs(T a) { //定义函数模板
return a<0?-a:a;
}
以上的形式可以适用于各种形式的参数无论是整形还是浮点型。
模板的定义
template <模板形参表>//括号中模板形参表主要是typename或class
返回值类型 函数名(参数表){
函数体
}
以上是对于模板函数的有关内容
模板类定义
template <模板形参表>
class 类模板名
{
成员的声明;
}
例如:
template
class data
{
T a;
public:
data(){};
}
总结
模板在我看来是对数据的概括性的应用,将一类的概括成一个,精简了使用的步骤让我们能更方便的进行代码的编写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值