程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 第16章 模板與泛型編程(16)

第16章 模板與泛型編程(16)

編輯:C++入門知識

上一篇:http://www.BkJia.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的專欄
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved