同前面的指標函式和函式指標類似,函式模板和模板函式也具有相似的關係,函式模板是乙個模板,模板函式是由函式模板所產生的函式。函式模板需要使用關鍵字template來宣告。
#include
#include
using
namespace std;
//宣告函式模板
template
<
typename t>
void
add(t x, t y)
//乙個全特化的函式模板
函式模板的全特化,是函式模板的一種特殊情況,在該情況下,不需要指明模板函式的引數,而是直接將函式模板給出乙個固定的值。就如上面的**中,實現的功能。
&emsp;類模板就是對類的進一步抽象,和函式模板類似,完成類模板後,只需指定引數,就能完成生成模板類,乙個模板類只能在標頭檔案中實現。
標頭檔案
#pragma once
template
<
class
t>
class
rect
;template
<
class
t>
t rect
::get_data
(int idx)
主函式#include
類模板的全特化和偏特化與函式模板的全特化類似。並且類模板可以繼承自類模板。
C C 類模板
類模板就是為類宣告一種模板,使得類中的某些資料成員,或某些成員函式的引數,又或者是某些成員函式的返回值可以取任意的資料型別,包括基本資料型別和自定義資料型別。類模板的宣告形式如下 template 模板參數列 類宣告 模板參數列中可以以下兩種模板引數 1.class 識別符號 指明可以接受乙個型別引...
C C 程式設計 類模板
以stack為例學習類模板的使用 stack.hpp pragma once include include template typename t class stack 拷貝建構函式 賦值運算子 stack stackconst stack operator stackconst templat...
快速排序模板(C C )
確定分界點x 調整區間,使得第乙個區間所有數都小於等於x,第二個區間所有數都大於等於x 遞迴處理左右兩邊 include using namespace std const int n 1e5 10 int n int a n void quick sort int a,int l,int r qu...