第14章 模 板
本章主要考查函数模板和类模板的概念及其实例化。通过对历年试卷内容的分析,本章考核内容约占5.6%,属于一般考查对象。由命题走势图14-1可知,本节部分所涉及考题分值先升后降趋势。

14.1 函数模板
14.1.1 考点1:函数模板的概念和声明
函数模板是一系列相关函数的模型或样板,这些相关函数的源代码形式相同,只是所针对的数据类型不同。对于函数模板,数据类型本身成了它的参数,因而是一种参数化类型的函数。类的成员函数也可以声明为函数模板。
声明一个函数模板的格式如下:
template <模板形参表声明>
返回类型 函数名(函数形参表)
{
…… //函数体
}
其中,<模板形参表声明>是由一个或多个“模板形参”组成的,如果是多个,则要用逗号隔开。“模板形参”具有下面3种形式:
typename 参数名
class 参数名
类型修饰 参数名
这里的参数名可以是任意合法的C++标识符。前两种形式是等价的,也就是说,在声明模板形参时,关键字typename和class可以互换。用typename或class声明的参数称为虚拟类型参数;而用“类型修饰”声明的参数则称为常规参数。这里的“类型修饰”是指具体的数据类型(如int、double、char等)。函数模板的<模板形参表声明>中,一定要包含虚拟类型参数,而常规参数则可以根据实际需要选择。
本章节内容来自希赛全国计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级C++语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032460)