当前位置:   article > 正文

C++模板类使用_c++类模板的使用

c++类模板的使用

4 模板类的使用

模板类提供了一个机制:让用户为类定义一个类的模板。使得类中的成员变量或者成员函数的参数,返回值等信息,都可以“动态绑定”类型。就是说,类的定义中,使用的某些数据类型,是在类定义对象的时候,才动态设置。

这个“动态绑定”与模板函数一样,模板函数中是的数据类型,在函数的实际调用中才确定类型。类模板定义的格式如下:

template < class 虚拟类型名>

class 类名

{ 类声明体 };

定义模板类之后,可以使用模板类来定义一个对象。格式如下:

类模板名<实际类型名> 对象名;

类模板名<实际类型名> 对象名(实参列表);

其中,可以分成两部分来理解:

首先,类模板的使用实际上是将类模板实例化成一个具体的类,实例化的格式如下:

类模板名<实际类型名>

那么上面就定义了一个类,可以使用该类来定义一个对象,格式:

类模板名<实际类型名> 对象名;

如果在类模板外定义成员函数,应写成类模板形式:

template <class 虚拟类型参数>

函数类型 类模板名<虚拟类型参数>::成员函数名(函数形参列表)

{……..}

下面举例分析模板类的使用,程序测试代码如下:

程序运行结果如下:

可以看到,我们定义了一个模板类test,在模板类test中使用的形参类型由T符号表示。那么,使用模板类test定义对象如下:

test<int> t(162899);

此时,在尖括号<int>中指定了参数类型T由int类型代替。那么,在模板类test中所有出现T符号的地方使用int类型表示。那么,就实例化一个类,得到的具体类如下:

class test

{

public:

int val;

public:

test(int v)

{

val = v;

}

int get_val(void);

};

int test::get_val(void)

{

return val;

}

所有,在定义模板类对象的时候,给模板类设置具体的类型。实例化一个类。然后,再用该类来定义对象。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号