何為模板:
即建立通用的模具,大大提高復用性。c++中按照對資料型別處理的不同要求分為函式模板和類模板
函式模板
template
<
typename t>
template:宣告建立模板;
typename:宣告後面符號是一種資料型別,可用class代替;
t:通用資料型別,名稱可替換,一般用大寫字母
int a =1;
int b =10;
myswap
(a,b)
;
myswap<
int>
(a,b)
;
myswap<
>
(a,b)
;//空模板引數列表
#include
//標準輸入/輸出流物件標頭檔案
using
namespace std;
//使用c++標準程式庫的識別符號宣告
template
<
typename t>
//宣告函式模板,typename可替換為class
void
mysort
(t arr,
int len)
//定義乙個模板函式}if
(max != i)}}
template
<
typename t>
void
myprint
(t arr,
int len)
cout << endl;
}void
test01()
void
test02()
;int len =
sizeof
(chararr)
/sizeof
(int);
mysort
(chararr,len)
;myprint
(chararr,len);}
intmain()
類模板
template
<
class
nametype
,class
agetype
>
//class 可替換為typename
person p1
("張三",18)--
-報錯
只能personint>p1(
"張三",18
);
template
<
class
nametype
,class
agetype
=int
>
personp1(
"張s",18
);
/*建立乙個通用類
template//class 可替換為typename
class person
nametype m_name;
agetype m_age;
}personp1("張三",18);
*/
小白學習中,歡迎交流指正! c 類模板的簡單使用
include define elmtpe char 在此修改要處理的資料型別 using namespace std 引用的函式原型 class compare int max int min int compare max int compare min template 宣告乙個模板,虛擬型別...
C 模板的定義 使用及特化
模板函式的定義格式 template class 形參名1,class 形參名2.class 形參名3 這裡class也可以換為typename 返回值型別 函式名 template class t bool isequal t a,t b intmain 什麼是類模板?乙個類模板 也稱為類屬類或類...
C 模板類定義與宣告
pragma once ifndef grid h define grid h template class grid int getwidth const static const int kdefaultwidth 10 static const int kdefaultheight 10 pr...