类模板和模板类

类模板和模板类
 

1、类模板

类模板也称为类属类或类生成类,是为类定义的一种模式,它使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。类模板不是一个具体的类,它代表着一族类,是这一族类的统一模式。使用类模板就是要将它实例化为具体的类。

定义类模板的一般形式为:

template<class 数据类型参数标识符>

class 类名

{

    //……

}

其中,template是声明类模板的关键字;template后面的尖括号不能省略;数据类型参数标识符是类模板中参数化的类型名,当实例化类模板时,它将由一个具体的类型来代替。

定义类模板时,可以声明多个类型参数标识符,各标识符之间用逗号分开。

类定义中,凡要采用标准数据类型的数据成员、成员函数的参数或返回类型的前面都要加上类型标识符。

如果类中的成员函数要在类的声明之外定义,则它必须是模板函数。其定义形式为:

template<class 数据类型参数标识符>
函数类型 类名<数据类型参数标识符>∷函数名(数据类型 形参1,……,数据类型 形参n)

{

   函数体

}

2、模板类

将类模板的模板参数实例化后生成的具体的类,就是模板类。由类模板生成模板类的一般形式为:

类名<数据类型>对象名1,对象名2,…,对象名n;

这里的数据类型对应的是对象实际需要的数据类型。

是不是觉得“类模板”和“模板类”很绕圈圈?其实我觉得通俗的说,前者就是框架,后者就是在框架基础上声明的一个具体对象。

再来个通俗的比喻, int   i;

int 就相当于是类模板扮演的角色,i 就相当于是模板类扮演的角色,虽然比喻的可能从C++理论上来讲是8正确滴,8过便于理解嘛~~就8要追究那么多啦 呵呵

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值