开发手册 欢迎您!
软件开发者资料库

C++ 模板

C++ 模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。

1、函数模板

函数模板的一般形式如下:

Template
返回类型 函数名(形参表)
{//函数定义体 }

注意:

template是一个声明模板的关键字,表示声明一个模板关键字class不能省略,如果类型形参多余一个 ,每个形参前都要加class <类型 形参表>可以包含基本数据类型可以包含类类型。

例如,

#include using std::cout;using std::endl;//声明一个函数模版,用来比较输入的两个相同数据类型的参数的大小,class也可以被typename代替,//T可以被任何字母或者数字代替。template T min(T x,T y){ return(x

2、类模板

类模板的语法一般如下:

Template < class或者也可以用typename T >
class 类名{
//类定义......
};

注意:

template是声明各模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个。

例如,

#include using std::cout;using std::endl;#ifndef ClassTemplate_HH#define ClassTemplate_HHtemplateclass myClass{private:     T1 I;     T2 J;public:     myClass(T1 a, T2 b);//Constructor     void show();};//这是构造函数//注意这些格式template myClass::myClass(T1 a,T2 b):I(a),J(b){}//这是void show();template void myClass::show(){     cout<<"I="<
            

推荐阅读