初步C 類模板學習筆記

2021-09-06 23:57:31 字數 1824 閱讀 6421

實現:在上課時間的定義給它的乙個或多個引數,這些引數代表了不同的資料型別。                              -->抽象的類。

在呼叫類模板時, 指定引數, 由編譯系統依據引數提供的資料型別自己主動產生對應的模板類                   -->詳細的類。

c++的類模板的寫法例如以下:

template 《型別參數列》        //型別參數列的寫法就是:class 型別引數1, class 型別引數2, …

class 類模板名

;

類模板裡的成員函式, 如在類模板外面定義時,

template 《型參數列》

返回值型別 類模板名《型別引數名列表》::成員函式名(參數列)

用類模板定義物件的寫法例如以下:

類模板名 《真實型別參數列》  物件名(建構函式實際參數列);

假設類模板有無參建構函式, 那麼也能夠僅僅寫:

類模板名 《真實型別參數列》  物件名;

template class pair;

bool operator < (const pair& p) const;

};template//在類外定義 pair的成員函式 operator <

bool pair::operator<( const pair& p) const

pair類模板的使用:

int main()

//成員函式模板

};int main()

template class carray       

};

carraya2;

carraya3;

注意:

carray和carray全然是兩個類

這兩個類的物件之間不能互相賦值

template class a ;

class b:public a;// 類a是個類模板。a是模板類

int main()

template class a ;

template class b:public a;

int main()

類模板a   ->例項化  模板類a->派生   類模板b   ->例項化  模板類b

此時b中有成員

{int v1;

double  v2;

t v;

class a ;

template class b:public a ;

int main()

沒什麼可說的。在繼承a的基礎上新增了t型別的成員。

#include using namespace std;

template class a

;template class b:public a;

int main()

{ bb;

b*pb = &b;

b.v1 = 1;

b.v3 = 3;

b.v2 = 2.2;

b.v4 = 4.4;

cout << pb->v1bb 時,b有自身的成員int v3 、double v4 也有繼承a的成員int v1 和 double v2

C 學習筆記 類模板

c 中將泛型思想引入到了類,實現了類模板,使得類的實現不再關注資料元素的具體型別,而只關注類所需實現的功能,適用於編寫資料結構相關 c 中的類模板以相同的方式處理不同的型別,在類的宣告前使用template關鍵字標識將要泛型程式設計,用於說明類中使用的t是泛指型別,類模板只能顯式指定具體型別,無法像...

C 學習筆記 類模板

類模板的例項化必須由程式設計師在程式中顯式地制定。定義模板類物件的格式 類模板名 型別實參表 物件名 實參表 舉個栗子 include using namespace std const int size 10 template typename atype 定義類模板 class atype at...

C 基礎學習筆記 類模板

一 類模板 1 類模板作用 語法 template typename t class 類名 解釋 include include using namespace std class person tyname name tyage age intmain 2 類模板與函式模板的區別 1.類模板無法使...