当前位置:编程学习 > C/C++ >>

第16章 模板与泛型编程(16)

上一篇:http://www.zzzyk.com/kf/201112/115312.html

16.6.4 类模板的部分特化

template<class T1,class T2> 
class Some_Template{ 
public: 
    T1 &Method1(T2 &t){ 
        return T1(); 
    } 
}; 
 
template<class T1> 
class Some_Template<T1,int>{ 
public: 
    T1 &Method1(int &t){ 
        return T1(); 
    } 
}; 
template<class T1,class T2>
class Some_Template{
public:
 T1 &Method1(T2 &t){
  return T1();
 }
};

template<class T1>
class Some_Template<T1,int>{
public:
 T1 &Method1(int &t){
  return T1();
 }
};类模板的部分特化(partial specialization)本身也是模板。部分特化的定义看来像模板定义,这种定义以关键字template开头,接着是由尖括号(<>)括住的模板形参表。部分特化的模板形参表是对应的的类模板定义形参表的子集。

16.7 重载与函数模板

设计既包含函数模板又包含非模板函数的重载函数集合是困难的,因为可能会使函数的用户感到奇怪,定义函数模板特化几乎总是比使用非模板版本更好。

 摘自 xufei96的专栏
 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,