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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)教程c語(yǔ)言描述下ppt-文庫(kù)吧資料

2024-10-22 05:35本頁(yè)面
  

【正文】 個(gè)數(shù)組類模板,了解類模板的實(shí)際作用。放在類模板的外部,采用以下形式: template 模板參數(shù)表 返回值類型 類模板名 類型名表 ::函數(shù)名 (參數(shù)表 ) { 函數(shù)體 } 其中, 類模板名 即是類模板中定義的名稱, 類型名表 即是類模板定義中的類型形式參數(shù)表中的參數(shù)名。 類模板定義 第 4章 繼承機(jī)制 類模板的定義格式: template 模板參數(shù)表 class 類模板名 { 類成員聲明 } 其中, 模板參數(shù)表 中包含一個(gè)或多個(gè)用逗號(hào)分開(kāi)的類型,參數(shù)項(xiàng)可以包含基本數(shù)據(jù)類型,也可以包含類類型:如果是類類型,則須加前綴 class或 typename。 第 4章 繼承機(jī)制 函數(shù)模板的重載 第 4章 繼承機(jī)制 函數(shù)模板的重載 返回本節(jié) 第 4章 繼承機(jī)制 類模板 類模板定義 類模板的實(shí)例化 使用函數(shù)類型參數(shù)的類模板 使用默認(rèn)參數(shù)的類模板 返回首頁(yè) 第 4章 繼承機(jī)制 同函數(shù)模板一樣,使用類模板可以為類定義一種模式,使得類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)、某些成員函數(shù)的返回值能取任意類型。 1. 函數(shù)模板的重載 【例 】重載例 。 第 4章 繼承機(jī)制 函數(shù)模板的實(shí)例化 【 例 】 利用例 的較大值。該重載函數(shù)的函數(shù)體與函數(shù)模板的函數(shù)體相同,參數(shù)為具體的數(shù)據(jù)類型。它不是一個(gè)實(shí)實(shí)在在的函數(shù),編譯時(shí)并不產(chǎn)生任何執(zhí)行代碼。 兩個(gè)變?cè)急伙@式傳給運(yùn)算符函數(shù)。但 參數(shù)表 至少有一個(gè)形參的類型必須用模板參數(shù)表 中的形參來(lái)定義,并且在 模板參數(shù)表 中的每個(gè)模板參數(shù)都必須在 參數(shù)表 中得到使用,即作為形參的類型使用。如產(chǎn)生求兩個(gè)整數(shù)中的較大值的函數(shù),或求兩個(gè)浮點(diǎn)數(shù)中的較大值函數(shù)等等。 template typename T T max(T a, T b) {return ab? a:b。它同基本數(shù)據(jù)類型一樣,可以在函數(shù)中的任何地方使用。 通過(guò)參數(shù)實(shí)例化可以再構(gòu)造出具體的函數(shù)或類,稱為模板函數(shù)和模板類,它們之間的關(guān)系如下圖所示。 第 4章 繼承機(jī)制 模板的概念 模板的類屬參數(shù)由調(diào)用它的實(shí)際參數(shù)的具體數(shù)據(jù)類型替換,由編譯器生成一段真正可以運(yùn)行的代碼。 在 C++中,模板分為函數(shù)模板和類模板。 類型的嚴(yán)格性與靈活性 返回本節(jié) 第 4章 繼承機(jī)制 解決沖突的途徑 解決類型的嚴(yán)格性與靈活性沖突,以前有 3種方法: ?用宏函數(shù) ?為各種類型都重載這一函數(shù) ?放松類型檢查 第 4章 繼承機(jī)制 最理想的方法是: 直接將數(shù)據(jù)類型作為類的參數(shù),就好像函數(shù)可以將數(shù)據(jù)作為參數(shù)一樣,這種機(jī)制稱為類屬。} 和 float max(float a,float b) {return ab? a:b。 返回首頁(yè) 第 4章 繼承機(jī)制 第 7章 模板 模板的概念 函數(shù)模板 類模板 標(biāo)準(zhǔn)模板庫(kù) STL 應(yīng)用實(shí)例 第 4章 繼承機(jī)制 模板的概念 返回首頁(yè) 類型的嚴(yán)格性與靈活性 解決沖突的途徑 模板的概念 第 4章 繼承機(jī)制 類型的嚴(yán)格性與靈活性 在強(qiáng)類型程序設(shè)計(jì)語(yǔ)言中,參與運(yùn)算的所有對(duì)象的類型在編譯時(shí)即可確定下來(lái),并且編譯程序?qū)⑦M(jìn)行嚴(yán)格的類型檢查。 類類型轉(zhuǎn)換運(yùn)算符函數(shù)格式: operator〈返回類型名〉() { …… return 〈基本類型值〉 } 第 4章 繼承機(jī)制 類類型到基本類型的轉(zhuǎn)換 【 例 】 示例重載類類型轉(zhuǎn)換運(yùn)算符 第 4章 繼承機(jī)制 類類型到基本類型的轉(zhuǎn)換 【 例 】 示例多個(gè)重載類類型轉(zhuǎn)換運(yùn)算符 第 4章 繼承機(jī)制 類類型到基本類型的轉(zhuǎn)換 返回本節(jié) 第 4章 繼承機(jī)制 應(yīng)用實(shí)例 內(nèi)容:設(shè)向量 X=( x1,x2,x3,x4)和 Y=( y1,y2,y3,y4),則它們之間的加和減分別定義為: X +Y =( x1 + y1, x2 + y2, x3 + y3, x4 + y4) X – Y =( x1 – y1, x2 – y2, x3 – y3, x4 – y4) 設(shè)計(jì)一個(gè)向量類,進(jìn)行相應(yīng)運(yùn)算符的重載,以下標(biāo)方式訪問(wèn)各向量分量,計(jì)算上述向量的和與差,輸出結(jié)果,并返回向量的長(zhǎng)度。相對(duì)于系統(tǒng)默認(rèn)基本類型轉(zhuǎn)換函數(shù)來(lái)說(shuō),這里的類類型轉(zhuǎn)換函數(shù)實(shí)際上就是一個(gè)類類型轉(zhuǎn)換重載函數(shù)。 } 第 4章 繼承機(jī)制 基本類型到類類型的轉(zhuǎn)換 運(yùn)行結(jié)果: c1=+ c2=+ c1+12=+ c212=+ 返回本節(jié) 第 4章 繼承機(jī)制 類類型到基本類型的轉(zhuǎn)換 構(gòu)造函數(shù)能夠把基本類型對(duì)象轉(zhuǎn)換成指定類對(duì)象,但不能把類對(duì)象轉(zhuǎn)換為基本類型數(shù)據(jù)。 ()。 //c= (12)。 ()。 //c= + (12)。 ()。 ()。 Complex c。 復(fù)數(shù)與整數(shù)的混合運(yùn)算。 返回本節(jié) 第 4章 繼承機(jī)制 類類型轉(zhuǎn)換運(yùn)算符重載 基本類型到類類型的轉(zhuǎn)換 類類型到基本類型的轉(zhuǎn)換 返回首頁(yè) 第 4章 繼承機(jī)制 基本類型到類類型的轉(zhuǎn)換 利用構(gòu)造函數(shù)能完成從基本類型到類類型的轉(zhuǎn)換。 重載函數(shù)調(diào)用運(yùn)算符格式: 〈 類型 〉 operator( )( 〈 參數(shù)表 〉 ); 其中, 〈 類型 〉 可以為任意類型, 〈 參數(shù)表 〉 中可以是任意多個(gè)參數(shù),也可以沒(méi)有參數(shù),可以指定默認(rèn)值。 第 4章 繼承機(jī)制 [ ]運(yùn)算符重載 【 例 】 重載下標(biāo)運(yùn)算符 [ ]訪問(wèn)數(shù)組元素,并進(jìn)行越界檢查。 返回本節(jié) 第 4章 繼承機(jī)制 特殊運(yùn)算符重載 返回首頁(yè) [ ]運(yùn)算符重載 ( )運(yùn)算符重載 第 4章 繼承機(jī)制 [ ]運(yùn)算符重載 對(duì)下標(biāo)運(yùn)算符[ ]進(jìn)行重載,只能重載為類成員函數(shù) ,不可重載為友元函數(shù)。 ?當(dāng)函數(shù)的返回值是類的對(duì)象,在函數(shù)調(diào)用結(jié)束后返回到主調(diào)函數(shù)處時(shí)。在下述 3種情況下,系統(tǒng)將自動(dòng)調(diào)用所屬類的拷貝構(gòu)造函數(shù): ?當(dāng)說(shuō)明新的類對(duì)象的同時(shí)要給它賦值另一個(gè)已存在對(duì)象的各成員當(dāng)前值。 n3=n2=n1。例如,下面的語(yǔ)句是正確的。 函數(shù)返回 n2的引用。例 返回一個(gè) Namelist對(duì)象的引用,返回表達(dá)式是 *this,通過(guò)對(duì) this的提取操作得到對(duì)象本身。 第 4章 繼承機(jī)制 重載賦值運(yùn)算符的格式 返回本節(jié) 第 4章 繼承機(jī)制 重載賦值運(yùn)算符函數(shù)的返回值 重載賦值運(yùn)算符時(shí),通常返回調(diào)用該運(yùn)算符的對(duì)象的引用 ,我們知道,不能使用引用返回一個(gè)局部對(duì)象,this可以解決這個(gè)問(wèn)題。obj) { delete dobj。 第 4章 繼承機(jī)制 淺拷貝與深拷貝 返回本節(jié) 第 4章 繼承機(jī)制 重載賦值運(yùn)算符的格式 對(duì)賦值運(yùn)算符進(jìn)行重載的類成員函數(shù)“構(gòu)架”大致如下: Classnameamp。 雙目運(yùn)算符重載 第 4章 繼承機(jī)制 雙目運(yùn)算符重載 返回本節(jié) 第 4章 繼承機(jī)制 賦值運(yùn)算符重載 返回首頁(yè) 淺拷貝與深拷貝 重載賦值運(yùn)算符的格式 重載賦值運(yùn)算符函數(shù)的返回值 賦值運(yùn)算符重載函數(shù)與拷貝構(gòu)造函數(shù)的區(qū)別 第 4章 繼承機(jī)制 淺拷貝與深拷貝 如果一個(gè)類的數(shù)據(jù)成員中有指向動(dòng)態(tài)分配空間的指針,通常應(yīng)該定義拷貝構(gòu)造函數(shù),并重載賦值運(yùn)算符,否則會(huì)出現(xiàn)運(yùn)行錯(cuò)誤。 返回本節(jié) 第 4章 繼承機(jī)制 基本運(yùn)算符重載 單目運(yùn)算符重載 雙目運(yùn)算符重載 返回首頁(yè) 第 4章 繼承機(jī)制 1.用成員函數(shù)形式重載運(yùn)算符 ++和-- 以成員函數(shù)方式重載前綴“ ++”運(yùn)算符: 〈 類型 〉〈 類名 〉 :: operator++( ); 以成員函數(shù)方式重載后綴“ ++”運(yùn)算符的函數(shù): 〈 類型 〉〈 類名 〉 :: operator++(int); 單目運(yùn)算符重載 第 4章 繼承機(jī)制 【例 】用成員函數(shù)重載運(yùn)算符 ++和 ―― 單目運(yùn)算符重載 第 4章 繼承機(jī)制 2.用友元函數(shù)形式重載運(yùn)算符 ++和-- 以友元函數(shù)方式重載前綴“ ++”運(yùn)算符: 〈 類型 〉 operator++(〈 類名 〉 & ); 以友元方式重載后綴“ ++”運(yùn)算符: 〈 類型 〉 operator++(〈 類名 〉 a, i nt); 單目運(yùn)算符重載 第 4章 繼承機(jī)制 【 例 】 用友元函數(shù)重載運(yùn)算符 ++和 ―― 單目運(yùn)算符重載 第 4章 繼承機(jī)制 單目運(yùn)算符重載 返回本節(jié) 第 4章 繼承機(jī)制 【 例 】 用成員函數(shù)重載運(yùn)算符,實(shí)現(xiàn)復(fù)數(shù)的二元加法、減法運(yùn)算。 ?友元函數(shù)不能重載 ( )、 [ ]、和 運(yùn)算符。 第 4章 繼承機(jī)制 兩種運(yùn)算符重載形式的比較 重載為友元函數(shù)的一些限制: ?為保持與 C++中規(guī)定的賦值語(yǔ)義相一致,賦值運(yùn)算符雖然它是一個(gè)二元操作符,但不能重載為友員函數(shù)。這時(shí),該語(yǔ)句右邊的表達(dá)式被解釋為: operator + (, c1)。 由于 float型數(shù)據(jù) ,不能進(jìn)行“ .”操作。 如果“ +”用成員函數(shù)重載,編譯時(shí)會(huì)出錯(cuò)。有時(shí)將二元運(yùn)算符重載為友元函數(shù)比重載為一個(gè)成員函數(shù)使用起來(lái)更靈活。 〈 運(yùn)算符 〉 為要重載的運(yùn)算符,〈 形式參數(shù)表 〉 中的參數(shù)個(gè)數(shù)與重載的運(yùn)算符操作數(shù)的個(gè)數(shù)有關(guān)。當(dāng)遇到不很明顯的運(yùn)算時(shí),編譯程序?qū)⑷ふ覅?shù)相匹配的運(yùn)算符函數(shù)。 從技術(shù)上講,可以任意進(jìn)行運(yùn)算符重載,但是,如果脫離原有語(yǔ)義太遠(yuǎn),就會(huì)使程序造成混亂,所以最好堅(jiān)持如下的 4個(gè) “ 不能改變 ” : ? 不能改變運(yùn)算符操作數(shù)的個(gè)數(shù) ? 不能改變運(yùn)算符原有的優(yōu)先級(jí) ? 不能改變運(yùn)算符原有的結(jié)合性 ? 不能改變運(yùn)算符原有的語(yǔ)法結(jié)構(gòu) 返回本節(jié) 第 4章 繼承機(jī)制 編譯程序選擇重載運(yùn)算符的規(guī)則 運(yùn)算符重載實(shí)際是一個(gè)函數(shù),所以運(yùn)算符的重載實(shí)際上是函數(shù)的重載。 (4) 不能重載下面運(yùn)算符: . 類成員選擇運(yùn)算符 .* 成員指針運(yùn)算符 :: 作用域運(yùn)算符 ?: 條件表達(dá)式運(yùn)算符 除此之外的運(yùn)算符都可以被重載,并且只有“ =”的重載函數(shù)不能被繼承。 例如,不能重載二元浮點(diǎn)減法運(yùn)算符。 +6i=c。 =f。 第 4章 繼承機(jī)制 運(yùn)算符重載的規(guī)則 重載運(yùn)算符必須遵循下列規(guī)則: (1) 重載運(yùn)算符必須符合語(yǔ)言語(yǔ)法。 例如: a=3+4; a=”abc”+”def”。 目的:理解單繼承中的保護(hù)成員的作用,掌握單繼承的使用。要求各類提供支持初始化的構(gòu)造函數(shù)和顯示自己成員的成員函數(shù)。圓包括圓心和半徑兩個(gè)數(shù)據(jù)成員,圓心具有點(diǎn)類的所有特征。其執(zhí)行順序如下: 先調(diào)用派生類的析構(gòu)函數(shù) 再調(diào)用派生類中子對(duì)象類的析構(gòu)函數(shù)(如果派生類中有子對(duì)象) 再調(diào)用普通基類的析構(gòu)函數(shù) 最后調(diào)用虛基類的析構(gòu)函數(shù) 第 4章 繼承機(jī)制 繼承機(jī)制下析構(gòu)函數(shù)的調(diào)用順序 【例 】給例 ,分析程序的輸出結(jié)果,理解派生類析構(gòu)函數(shù)的調(diào)用順序。 【 例 】 分析程序,討論派生類有構(gòu)造函數(shù),基類無(wú)缺省構(gòu)造函數(shù)時(shí),派生類構(gòu)造函數(shù)的規(guī)則。 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 第四種情況:若派生類和基類都有構(gòu)造函數(shù),但基類沒(méi)有缺省構(gòu)造函數(shù),則派生類的每一個(gè)構(gòu)造函數(shù)必須在其初始化列表中顯式地調(diào)用基類的某個(gè)構(gòu)造函數(shù)。 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 第三種情況:若派生類有構(gòu)造函數(shù),且基類有缺省構(gòu)造函數(shù),則創(chuàng)建派生類的對(duì)象時(shí),基類的缺省構(gòu)造函數(shù)會(huì)自動(dòng)執(zhí)行,除非當(dāng)前被調(diào)用的派生類構(gòu)造函數(shù)在其初始化段中顯式地調(diào)用了基類的有參構(gòu)造函數(shù)。只有這樣,當(dāng)創(chuàng)建派生類的對(duì)象時(shí),才能自動(dòng)執(zhí)行基類的默認(rèn)構(gòu)造函數(shù)。 【 例 】 分析程序,討論派生類有構(gòu)造函數(shù),基類沒(méi)有構(gòu)造函數(shù)時(shí),派生類構(gòu)造函數(shù)的規(guī)則。只有這樣,當(dāng)創(chuàng)建派生類的對(duì)象時(shí),基類的構(gòu)造函數(shù)才能獲得執(zhí)行機(jī)會(huì)。 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 ? 若派生類有構(gòu)造函數(shù),且基類有缺省構(gòu)造函數(shù),則
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1