200915階段一C 模板

2021-10-09 13:13:17 字數 1613 閱讀 6738

二、上課沒有聽懂或者沒有理解的地方

三、當天學習的收穫

四、作業的思路、不會的地方

五、其他需要反饋的問題

建立乙個派生類物件,不指定,就走預設構造,

使資料型別引數化

//巨集定義 呼叫時不進行型別檢查

#define maxnum(a,b) ((a)>(b)?(a):(b))

函式模板不是函式,不可以直接呼叫

使用函式模板的方法是說明函式模板,然後例項化成相應的模板函式進行呼叫執行

根據函式呼叫的實參型別確定模板形參的具體型別

函式模板可以過載

//模板加在要使用語句之前

template

<

typename t,

typename t1>

//t:引數型別 可能的型別int char double...

void

swap

(t &a,t1 &b)

//函式模板的引數是型別引數,型別為class或者typename

template

<

typename t>

//不同型別的模板,函式模板過載

t swap

(t &a,t1 &b)

intmain()

繼承類模板的類模板 引數只能比基類多

普通的類繼承類模板,基類裡面的資料型別要初始化

類模板的引數在類模板定義中至少要實現一次

類模板中的每乙個函式都是函式模板,實現時要加template

類模板成員函式的實現都會放在.**件裡面

類模板成員函式的實現格式返回值型別 類模板名《引數》(){}

類模板的template怎麼寫,成員函式模板就怎麼寫;類模板template的引數有幾個,類中只要用到一次就行,成員函式模板不一定要用到

template

<

classt,

class

t1>

class

ccomplex

;//成員函式實現的格式 返回值型別 類名::函式名(){}

//類模板中的每乙個函式都是函式模板,實現時要加template

template

<

classt,

class

t>

ccomplex

::ccomplex()

template

<

classt,

class

t>

void ccomplex

::printinfo()

//類模板繼承類模板

template

<

class

t2>

class

dcomplex

:public ccomplex

;//函式模板的使用

ccomplex<

int,

double

>

res(10,

2.5)

;//走帶引數構造,例項化

模板可以讓乙個函式接收不同型別的資料成員無無

C 第2 5階段(模板,STL)

1.模板 函式模板,類模板 泛型程式設計思想,m 物件導向思想 模板 提高復用性 函式模板 定義 typelate 呼叫 自動型別推導 顯式指定型別 作用 提高復用性,型別引數化 注意事項 自動推導必須推導出一致的資料型別t 模板需要確定t 普通函式 呼叫時可以發生自動型別轉換 隱式型別轉換 函式模...

200922階段一C 關聯容器map

二 上課沒有聽懂或者沒有理解的地方 三 當天學習的收穫 四 作業的思路 不會的地方 五 其他需要反饋的問題 通過儲存在資料項中的索引項,盡可能快的檢索資料項 stl標準庫包含的有序關聯容器 set multiset 資料項就是索引項 multiset允許出現重複的項 map,multimap 資料項...

一階段專案 框架

關於框架 1.html檔案建立 設定id 2.js事例 function iframe dom else if dom 1 else if dom 2 aa.src bb 2 關於框架高度 onload this.hight 0 var fdh this.document?this.document...