C++模板类

一、 类模板的写法

定义一个类模板:

Template < class或者也可以用typename T >

class类名{

//类定义......

};

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

例如:定义一个类模板:

// ClassTemplate.h

#ifndef ClassTemplate_HH

#define ClassTemplate_HH

template

class 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="<}

#endif

// Test.cpp

#include

#include "ClassTemplate.h"

using std::cout;

using std::endl;

void main()

{

     myClass class1(3,5);

     class1.show();

     myClass class2(3,'a');

     class2.show();

     myClass class3(2.9,10);

     class3.show();

     system("PAUSE");

}

 

二、非类型模版参数

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

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

template

class Stack{

Private:

       T elems[MAXSIZE];

};

 

Int main()

{

       Stack int20Stack;

       Stack int40Stack;

};

 

你可能感兴趣的:(C/C++语言)