1、類模板
2、函式模板#include
using
namespace std;
//-----------------------------通用類模板---------------------------
template
<
classt1,
class
t2>
//通用模板
class
compare
//在這裡不能寫型別
;template
<
classt1,
class
t2>
//這裡必須寫
compare
::compare (
)//--------------------------類模板全特化------------------------
template
<
>
//類模板全特化
class
compare
<
char*,
char
*>
//在這裡寫上所需要的型別
;//template<> //全特化這行**不能寫!!!
compare<
char*,
char
*>
::compare()
//--------------------------類模板偏特化--------------------------
template
<
class
t2>
//類模板偏特化
class
compare
<
float
,t2>
//偏特化型別t1 特化為float型別
;template
<
class
t2>
//偏特化這裡必須要寫
compare<
float
,t2>
::compare()
//-------------------------------測試---------------------------------
intmain
(int argc,
char
*ar**)
#include
#include
using
namespace std;
//--------------------------函式模板---------------------------------
template
<
classt1,
class
t2>
bool
test
(t1 t1, t2 t2)
//--------------------------模板全特化--------------------------------
template
<
>
//因為字串比較不能通過直接相等來比較,的特化一下
bool test <
char
*>
(char
* t1,
char
* t2)
//標明特化型別
//----------------------------測試------------------------------------
intmain
(int argc,
char
*ar**)
else
return0;
}
C 函式模板和類模板
一 函式模板 c 提供了函式模板 function template 所謂函式模板,實際上是建立乙個通用函式,其函式型別和形參型別不具體指定,用乙個虛擬的型別來代表。這個通用函式就稱為函式模板。凡是函式體相同的函式都可以用這個模板來代替,不必定義多個函式,只需在模板中定義一次即可。在呼叫函式時系統會...
函式模板和類模板(C )
所謂函式模板,實際上是建立乙個通用函式,其函式型別和形參型別不具體指定,用乙個虛擬的型別來代表。這個通用函式就稱為函式模板。函式模板和普通函式的區別 函式模板不允許自動型別轉化,普通函式能夠進行自動型別轉換 函式模板和普通函式在一起呼叫的規則 1 函式模板可以像普通函式一樣被過載 2 c 編譯器優先...
C 函式模板和類模板
一 函式模板 1.概念 實際是建立乙個模型,然後根據這個模板去例項化一些物件,它的函式型別和形參型別不具體指定,用乙個虛擬的型別來代表,這個通用的函式就稱為函式模板,只要是函式體相同的函式都可以用這個模板來代替,不必定義多個函式,只需要在模板中定義一次,在呼叫函式時,編譯器會根據實參的型別對函式進行...