码迷,mamicode.com
首页 > 编程语言 > 详细

c++知识点总结-模板特化

时间:2017-04-08 10:13:48      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:har   code   nbsp   out   没有   调用   实例   char   private   

类模板的全特化与偏特化

 

类模板

template<typename T1, typename T2>
class Test
{
public:
    Test(T1 i,T2 j):a(i),b(j){cout<<"模板类"<<endl;}
private:
    T1 a;
    T2 b;
};

 

全特化

template<>
class Test<int , char>
{
public:
    Test(int i, char j):a(i),b(j){cout<<"全特化"<<endl;}
private:
    int a;
    char b;
};

 

偏特化

template <typename T2>
class Test<char, T2>
{
public:
    Test(char i, T2 j):a(i),b(j){cout<<"偏特化"<<endl;}
private:
    char a;
    T2 b;
};

 

在具现化时,根据最相近的模板进行实例化,即,存在特化模板时,按照特化模板实例化,如果没有,再去按照模板进行实例化

依次调用类模板、全特化与偏特化
Test<double , double> t1(0.1,0.2);
Test<int , char> t2(1,‘A‘);
Test<char, bool> t3(‘A‘,true);

c++知识点总结-模板特化

标签:har   code   nbsp   out   没有   调用   实例   char   private   

原文地址:http://www.cnblogs.com/tla001/p/6680634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!