c 複習之泛型程式設計入門

2021-08-20 17:31:11 字數 506 閱讀 4468

目前感覺對泛型程式設計理解的不夠深,現主要對泛型簡單的應用做個總結。泛型程式設計主要包括:函式模板和類模板

(1)函式模板:

1.1函式模板定義及使用:

template // template 作為模板關鍵字,從原理上注意編譯器並不是把函式模板處理成任意型別的函式

//而是編譯器把函式模板通過具體的型別產生不同的函式,在定義和使用的過程中可以發現,編譯器實際上對函式模板進行了兩//次編譯。

int compare(t &a, t &b)

void print(){

cout << "x:" << _xpoint3dp1(1,2,3);//這裡要注意,使用時需指定型別

p1.print();

return 0;

2.2模板類也可以派生普通類

class point2d:public point3d{    //這就是模板類的派生。此時需要指定模板類的型別

private:type c;

.........更新待續

C 複習之泛型

1.什麼是泛型?首先看下面的例子 class myintclass public int pop 上面的例子宣告了乙個myintclass類,它實現了乙個int型別的棧,它允許將int壓入棧,也可彈出。如果我們現在需要乙個float的型別實現相同的功能,那麼我們需要將以上 複製貼上,將類名改變並且需...

C 泛型程式設計入門

所謂泛型程式設計,就是不依賴於某一具體型別而使 具有很強適應性的程式設計正規化。我們看下面的求和函式是如何一步步進化成最純粹的泛型程式設計的。最開始,sum函式是這樣子的 double sum const std vector vec return result 顯然這個函式只適用於std vect...

c 泛型程式設計

對於兩個不同的概念a和b,如果概念a所需求的所有功能也是概念b所需求的功能,那麼就說概念b是概念a的子概念。例如 標準模板庫 standard template library,簡稱stl 提供了一些非常常用的資料結構和演算法 將函式物件作為演算法的引數而不是將函式所執行的運算作為演算法的一部分。使...