函式模板 和類模板

2021-06-27 03:47:27 字數 567 閱讀 6497

**:

還是例子說話。

函式模板:

templatemax(const t a, const t b)

這樣用:

//int

int a = 1, b = 2;

max(a, b);

//float

float c = 1.0f, d = 2.0f;

max(c, d);

//double

double e = 1.0, f = 2.0;

max(e, f);

//...

類模板:

template

class c

};對這個類進行例項化:

//int

c cn;

//float

c cf;

//double

c cd;

//...

現在看出區別了吧,區別在於函式模板和類模板的使用方式上:

函式 模板在使用時不需要程式設計師指定型別,編譯器在編譯的時候會自動繫結;而

類模板需要程式設計師手工指定,指定的方式是:類名字《型別》。

類模板,模板類和函式模板,模板函式

單整數類 雙整數類 所以c艹跟其他強型別語言為我們提供了乙個所謂模版功能 變數型別 整數 類模板的重點是模板。表示的是乙個模板,專門用於產生類的模子。例子 1 template 2 class vector 3 使用這個vector模板就可以產生很多的class 類 vector vector ve...

函式模板和類模板

1 函式模板 template 形參名,class 形參名,返回型別 函式名 引數列表 其中template和 class 是關鍵字,class 可以用typename 關見字代替,在這裡 typename 和class 沒區別,括號中的引數叫模板形參,模板形參和函式形參很相像,模板形參不能為空。一...

函式模板和類模板

函式過載 函式名相同,引數型別不同,可以完成具有相似功能的邏輯.如何實現乙個通用的交換函式呢?void swap int a,int b void swap char a,char b void swap double a,double b 使用函式過載雖然可以實現,但是有以下幾個不好的地方 過載的...