C 泛型程式設計之函式模板

2021-10-24 13:58:40 字數 1017 閱讀 2770

泛型程式設計是c++的另一種程式設計思想,主要用到技術是模板。

c++提供兩種模板機制:函式模板和類模板

一、函式模板

語法:

template函式宣告或定義
解釋:

template --- 宣告建立模板

typename --- 表面其後面的符號是一種資料型別,可以用class代替

t --- 通用的資料型別,名稱可以替換,通常為大寫字母

#include "iostream"

#include using namespace std;

//模板函式

//1、交換兩個整型

void swapint(int &a, int &b)

//2、交換兩個浮點型

void swapdouble(double &a,double &b)

//3、交換兩個char型別

void swapchar(char &a, char &b)

//未使用模板函式之前的測試

void test01()

//模板函式

/* 語法:templatetemplate 關鍵字 ———宣告要建立模板函式

typename ----- 表面其後面的符號是一種資料型別,可以用class代替

t --- 通用的資料型別,名稱可以替換,通常為大寫字母

*/template void swap(t &a, t &b)

//使用模板函式之後的測試

void test02()

int main()

總結:

模板函式使用注意事項:

templatevoid func1(t a, t b)

templatevoid func2()

//測試**

void functest()

C 泛型程式設計之函式模板

模板是泛型程式設計的基礎,包括函式模板和類模板兩類 其作用是建立乙個通用函式,該函式的返回值和形參型別不具體而用乙個虛擬型別代表,達到簡化的目的 語法templatet 為通用資料型別 如要實現兩數交換的函式 int型別的寫法如 void swapint int a,int b 而如果要交換doub...

C 泛型程式設計之函式模板案例

案例描述 利用函式模板封裝乙個排序函式,可以對不同資料型別的陣列進行排序。排序規則是從大到小,排序演算法為選擇排序 分別用char和int陣列進行測試 include iostream include using namespace std 實現通用 對陣列進行排序 規則 從大到小 演算法 選擇排序...

C 模板程式設計與泛型程式設計之函式模板(一)

int sub int tv1,int tv2 float sub float tv1,float tv2 template template t sub t tv1,t tv2 呼叫 int subv sub 3,5 int subv sub 6.3,5.9 型別模板引數t 代表是乙個型別 以前前...