freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oop(c第12章模板最終版ppt-第12章模板template-資料下載頁(yè)

2025-09-20 20:28本頁(yè)面

【導(dǎo)讀】創(chuàng)建一個(gè)棧,這個(gè)棧類只存放int類型的值。自定義的類型對(duì)象。以重用IntStack的代碼。改進(jìn)typedef,將它從預(yù)處理器移入到編譯器中。新的代碼替換裝置稱為“模板”。非常象宏,卻更清晰,更易于使用;模板實(shí)際上是一組類;給類模板的參數(shù)指定具體的類型,這一過(guò)程稱為。Stack<int>;//實(shí)例化成int型棧類;類模板實(shí)例化得到的類可以進(jìn)行實(shí)例化,生成最。Stack<int>si;//創(chuàng)建一個(gè)大小為20的整形棧;Stackstack;//error,未指定模板參數(shù),

  

【正文】 國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 38 template class T1,class T2 class derived:public BaseT2{ T1 t。 // … }。 void main(){ derivedint,char di。 derivedchar,float dc。 () 。 // ()。 } 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 39 從類模板派生模板 (續(xù) ) 如果派生類沒(méi)有類型參數(shù),或者說(shuō)它的類型參數(shù)與基類的類型參數(shù)相同時(shí),派生類地模板參數(shù)只要包含基類的模板參數(shù)就可以了 template class T class C:public BaseT // 模板 C的參數(shù)與基類相同 { T c。 // … }。 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 40 函數(shù)模板 實(shí)際上是定義了一組函數(shù) 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 41 函數(shù)模板的定義 template 模板參數(shù)表 返回值類型 函數(shù)名(函數(shù)參數(shù)表) { //函數(shù)模板的定義 } 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 42 例 1:求兩個(gè)對(duì)象間的最大值 template class T T max(T a, T b) { return ab?a:b。 } 這里 T可以是 int, char ,float, 或者任何重載了 算符的對(duì)象。 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 43 例 2:關(guān)于模板參數(shù) template class T void f() { // error, 函數(shù)參數(shù)列表中無(wú)函數(shù)模板參數(shù) T T a。 // … } 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 44 函數(shù)模板的實(shí)例化 ? 函數(shù)模板的實(shí)例化不需要用戶顯式進(jìn)行,而是在函數(shù)調(diào)用時(shí)由編譯器來(lái)處理。 void main() { int a, b。 char c, d。 int m1 = max(a,b)。 //調(diào)用 max(int a, int b)。 char m2=max(c,d)。 // 調(diào)用 max(char c,char d)。 } 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 45 ? 應(yīng)保證函數(shù)調(diào)用時(shí)的參數(shù)與模板參數(shù)正好匹配,因?yàn)榫幾g器不會(huì)為函數(shù)模板的參數(shù)提供任何形式的轉(zhuǎn)換! int a。 char c。 int m3=max(a,c) // 出錯(cuò),不能生成 max(int , char ) 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 46 函數(shù)模板的重載 include template class T T sum(T *array,int size) { T total。 for (int i=0。isize 。i++) total+= array[i]。 return total。 } template class T T sum(T *array, T *array2, int size) { T total。 for (int i =0。 isize。 i++) total + = array1[i]+array2[i]。 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 47 return total。 } void main() { static int intarr1[ ]={1,2,3,4,5,6,7,8,9,10}。 static int intarr2[ ]={2,4,6,8,10,12,14,16}。 static double douarr[ ]={, , , , , , , , }; int itotal=sum(intarr1,10)。 // double dtotal = sum(douarr, 10)。 int iatotal = sum(intarr1, intarr2, 8 )。 } 函數(shù)模板的重載跟普通函數(shù)重載一樣,也應(yīng)該保證兩個(gè)重載的函數(shù)模板參數(shù)有所不同。 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 48 小結(jié) ? 模板是一種代碼重用的機(jī)制; ? 模板是在強(qiáng)類型語(yǔ)言上實(shí)現(xiàn)的一種弱類型機(jī)制。 《面向?qū)ο蟪绦蛟O(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系 馬建輝 49 1. 請(qǐng)實(shí)現(xiàn)一個(gè)隊(duì)列模版 Queueclass T 作業(yè) :
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1