模版

来源:互联网 发布:淘宝双11活动报名入口 编辑:程序博客网 时间:2024/04/25 13:30

模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版


1.函数模版



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


比较 大小并返回比较大的

template <class T>

T Max( T a , T b)

{

  return ( a>b)?a:b;

}



Max( 1 , 2);Max( 1.1 , 2.2);



类模版

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


template < class T1, class T2>

class A

{

private:

T1 a;

T2 b;

public:

A( T1 c , T2 d);

void show();

}

template <typename T1,typename T2>

A<T1,T2>::A(T1 C,T2 D):a(C),b(D){}


template <typename T1 , typename T2>

void A<T1,T2>::show()

{

cout<<a<<b<<endl;

}


非类型模版参数

一般来说,非类型模板参数可以是常整数(包括枚举)或者指向外部链接对象的指针。

那么就是说,浮点数是不行的,指向内部链接对象的指针是不行的

template<typename T, int MAXSIZE>

class Stack{

Private:

       T elems[MAXSIZE];

};

Int main()

{

       Stack<int, 20> int20Stack;

       Stack<int, 40> int40Stack;

};





0 0
原创粉丝点击