【C++】模板简介

模板:数据的整体归类化,不能出现具体数据类型。
而且函数模板的参数实例化时,必须同一类型。

1.函数模板:

template<class/typename 虚类名> 
返回类型  函数名(参数表)
{    
     //函数体
}

1.5.函数模板的实例化:

函数名(具体并相同类型的实参表)

2.类模板:

template<class 虚类名>
class  类名
{
};

2.5类模板的实例化:

类名 <对应实类型> 对象名;

3.函数模板的特化:
前提:在一个已有的函数模板下,特化一个与之匹配的模板

template<>
返回值类型  函数名<特化类型>(对应参数列表)
{      
}
//其中,第二个<>中括号以及其中内容在一定条件下可以省略。

3.5.类模板的特化:
前提:在一个已有的完整的类模板下,可以特化另一个类模板,并且其中的成员函数也需要跟着特化一遍。

template<>
class 类名<特化类型> 
{
    特化的数据和功能。
}

template<>
返回值类型  类名<特化类型>::函数名(参数表)
{
    
}

4.类模板的部分特化:
前提:依然是已经存在完整的类模板

template  <没有特化的部分虚类名>
class  类名  
{     
    函数名(具体数据类型 x1,虚类名 x2)
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值