c 模板(template)入門介紹

2021-10-07 13:05:39 字數 962 閱讀 7818

普通函式與函式模板的呼叫規則

模板具體化

類模板**示例

#include#includeusing namespace std;

//這裡使用函式模板 t

templatevoid swapvalue(t & a, t & b)

//多個模板引數宣告方式

void func(t1 & t1,t2& t2)

int main()

#include#includeusing namespace std;

class person ;

templatevoid swapvalue(t & a, t & b)

//當傳入person型別時,使用下面的具體化函式模板

template<> void swapvalue(person & p1, person& p2)

int main()

classdata

#include#includetemplateclass data

t getdata()

};

int main()
templateclass data

t getdata()

};data<> data; //這裡使用了預設型別引數,int,裡面可以不寫int,但是必須有尖括號<>

templateclass data

t getdata()

};//1.指定引數型別

void func1(data& d)

//2.引數型別模板化

templatevoid func2(data& d)

對類模板而言,這樣會產生錯誤

C 模板 template 使用介紹

1.模板的概念。我們已經學過過載 overloading 對過載函式而言,c 的檢查機制能通過函式引數的不同及所屬類的不同。正確的呼叫過載函式。例如,為求兩個數的最大值,我們定義max 函式需要對不同的資料型別分別定義不同過載 overload 版本。函式1.int max int x,int y ...

C 模板 template 使用介紹

1.模板的概念。我們已經學過過載 overloading 對過載函式而言,c 的檢查機制能通過函式引數的不同及所屬類的不同。正確的呼叫過載函式。例如,為求兩個數的最大值,我們定義max 函式需要對不同的資料型別分別定義不同過載 overload 版本。函式1.int max int x,int y ...

C 類模板template

類模板 對於功能相同而資料型別不同的一些函式,可以定義乙個可對任何型別變數進行操作的函式模板,在呼叫函式時,系統會根據實參的型別,取代函式模板中的型別引數,得到具體的函式 includeusing namespace std template class compare numtype max nu...