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

2021-10-24 14:03:01 字數 815 閱讀 1945

案例描述:

利用函式模板封裝乙個排序函式,可以對不同資料型別的陣列進行排序。

排序規則是從大到小,排序演算法為選擇排序

分別用char和int陣列進行測試

#include "iostream"

#include using namespace std;

/* 實現通用 對陣列進行排序

規則 從大到小

演算法 選擇排序演算法

測試 char陣列 int陣列

*///交換的函式模板

templatevoid myswap(t &a, t &b)

//實現排序的函式模板

templatevoid mysort(t arr, int len)

} if (max != i)

}}templatevoid printarray(t arr, int len)

cout << endl;

}void testchar()

void tsetint()

; int len = sizeof(intarray) / sizeof(intarray[0]);

cout << "未排序前:" << endl;

printarray(intarray, len);

cout << "排序後:" << endl;

mysort(intarray, len);

printarray(intarray, len);

}int main()

總結:模板可以提高**復用,需要熟練掌握

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

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

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

泛型程式設計是c 的另一種程式設計思想,主要用到技術是模板。c 提供兩種模板機制 函式模板和類模板 一 函式模板 語法 template函式宣告或定義解釋 template 宣告建立模板 typename 表面其後面的符號是一種資料型別,可以用class代替 t 通用的資料型別,名稱可以替換,通常為...

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 代表是乙個型別 以前前...