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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計教程c語言描述下ppt-在線瀏覽

2024-12-03 05:35本頁面
  

【正文】 機制下構(gòu)造函數(shù)的調(diào)用順序 當(dāng)說明派生類的一個對象時,首先調(diào)用基類的構(gòu)造函數(shù),對基類成員進(jìn)行初始化,然后執(zhí)行派生類的構(gòu)造函數(shù),如果某個基類仍是一個派生類,則這個過程遞歸進(jìn)行。 第 4章 繼承機制 繼承機制下構(gòu)造函數(shù)的調(diào)用順序 【 例 】 分析程序的輸出結(jié)果,理解派生類包括子對象時,其構(gòu)造函數(shù)的調(diào)用順序。 構(gòu)造函數(shù)調(diào)用順序是:先調(diào)用所有基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)。 第 4章 繼承機制 繼承機制下構(gòu)造函數(shù)的調(diào)用順序 【 例 】 分析程序的輸出結(jié)果,理解多繼承方式下構(gòu)造函數(shù)的調(diào)用順序。 第 4章 繼承機制 繼承機制下構(gòu)造函數(shù)的調(diào)用順序 返回本節(jié) 第 4章 繼承機制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 分四種情況討論派生類構(gòu)造函數(shù)的規(guī)則: ? 若派生類有構(gòu)造函數(shù)而基類沒有,當(dāng)創(chuàng)建派生類的對象時,派生類的相應(yīng)構(gòu)造函數(shù)被自動調(diào)用。只有這樣,當(dāng)創(chuàng)建派生類的對象時,才能自動執(zhí)行基類的默認(rèn)構(gòu)造函數(shù)。 ? 若派生類和基類都有構(gòu)造函數(shù),但基類沒有缺省構(gòu)造函數(shù),則派生類的每一個構(gòu)造函數(shù)必須在其初始化列表中顯式地調(diào)用基類的某個構(gòu)造函數(shù)。 第 4章 繼承機制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 第一種情況:若派生類有構(gòu)造函數(shù)而基類沒有,當(dāng)創(chuàng)建派生類的對象時,派生類的相應(yīng)構(gòu)造函數(shù)被自動調(diào)用。 第 4章 繼承機制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 第二種情況:若派生類沒有構(gòu)造函數(shù)而基類有,則基類必須擁有缺省構(gòu)造函數(shù)。 【 例 】 分析程序,討論派生類無構(gòu)造函數(shù),基類有構(gòu)造函數(shù)時,派生類構(gòu)造函數(shù)的規(guī)則。 【 例 】 分析程序,討論派生類有構(gòu)造函數(shù),基類有缺省構(gòu)造函數(shù)時,派生類構(gòu)造函數(shù)的規(guī)則。只有這樣,當(dāng)創(chuàng)建派生類的對象時,基類的構(gòu)造函數(shù)才能獲得執(zhí)行機會。 第 4章 繼承機制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 返回本節(jié) 第 4章 繼承機制 繼承機制下析構(gòu)函數(shù)的調(diào)用順序 由于析構(gòu)函數(shù)不能被繼承,因此在執(zhí)行派生類的析構(gòu)函數(shù)時,也要調(diào)用基類的析構(gòu)函數(shù)。 第 4章 繼承機制 繼承機制下析構(gòu)函數(shù)的調(diào)用順序 返回本節(jié) 第 4章 繼承機制 應(yīng)用實例 返回首頁 定義一個點類( Point)、圓類( Circle)和圓柱體類( Cylinder)的層次結(jié)構(gòu)。圓柱體類由半徑和高構(gòu)成。編寫主函數(shù),測試這個層次結(jié)構(gòu),輸出圓柱體類的相關(guān)信息。 第 4章 繼承機制 第 6章 運算符重載 運算符重載的規(guī)則 運算符重載的形式 基本運算符重載 賦值運算符重載 特殊運算符重載 類類型轉(zhuǎn)換運算符重載 應(yīng)用實例 第 4章 繼承機制 運算符重載的規(guī)則 返回首頁 運算符重載的規(guī)則 編譯程序選擇重載運算符的規(guī)則 第 4章 繼承機制 運算符重載的規(guī)則 運算符重載就是賦予已有的運算符多重含義。 同一個運算符 “ + ” ,由于所操作的數(shù)據(jù)類型不同而具有不同的意義,這就是運算符重載,而且是系統(tǒng)預(yù)先定義的運算符重載。 例如,不能在 C++中這樣寫: float f。 因此,不能重載 “ =”運算符來做下面操作: Complex c。 第 4章 繼承機制 運算符重載的規(guī)則 (2) 不能重載對內(nèi)部 C++數(shù)據(jù)類型進(jìn)行操作的運算符。 (3) 不能創(chuàng)建新的運算符。 第 4章 繼承機制 運算符重載的規(guī)則 (5) 重載運算符要保持原有的基本語義不變。 編譯程序?qū)\算符重載的選擇,遵循著函數(shù)重載的選擇原則。 返回本節(jié) 第 4章 繼承機制 運算符重載的形式 返回首頁 用成員函數(shù)重載運算符 用友員函數(shù)重載運算符 兩種運算符重載形式的比較 第 4章 繼承機制 用成員函數(shù)重載運算符 用成員函數(shù)重載運算符: 〈 返回值類型 〉 operator〈 運算符 〉 ( 〈 形式參數(shù)表 〉 ) 返回類型可以為任何有效類型,但通常返回它們操作類的對象。 返回本節(jié) 第 4章 繼承機制 用友員函數(shù)重載運算符 用友員函數(shù)重載運算符的原型為: friend 〈 返回值類型 〉 operator〈 運算符 〉 ( 〈 形式參數(shù)表 〉 ) 返回本節(jié) 第 4章 繼承機制 兩種運算符重載形式的比較 用友元或成員函數(shù)重載運算符在功能上沒有什么區(qū)別。例如: c=+c1。因為該語句右邊的表達(dá)式被解釋為: + (c1)。解決這個問題的辦法就是用用友元函數(shù)而不是成員函數(shù)重載加法。 兩個變元都被顯式傳給運算符函數(shù)。同樣,也應(yīng)將 +=、- =等這些賦值運算符重載為成員函數(shù)。 ?在重載增量或減量運算符時,若使用友元函數(shù),則需要使用引用參數(shù)。 雙目運算符重載 第 4章 繼承機制 【例 】用友元函數(shù)重載運算符,實現(xiàn)復(fù)數(shù)的二元加法、減法運算。 【 例 】 分析下列程序中存在的問題。 Classname ::operator=( Classname obj) //Classname為某個類名 ,用于完成調(diào)用者對象與形參對象的賦值操作 if ( this!= amp。 //釋放調(diào)用者對象 dobj已經(jīng)分配到的動態(tài)存儲空間 使用 new為調(diào)用者對象分配與形參 obj對象同樣大小的動態(tài)存儲空間; 將形參 obj對象的動態(tài)存儲空間中的數(shù)據(jù)賦給調(diào)用者對象; return * this; //返回調(diào)用者對象 } 第 4章 繼承機制 重載賦值運算符的格式 【 例 】 重載賦值運算符,使例 運行,并完善它。只要非靜態(tài)成員函數(shù)載運行,this指針就在作用域內(nèi)。例如,賦值語句 n2=n1。這樣賦值就能進(jìn)行連續(xù)賦值操作。 Namelist n1(first object),n2(second object),n3(third object)。 返回本節(jié) 第 4章 繼承機制 賦值運算符重載函數(shù)與拷貝構(gòu)造函數(shù)區(qū)別 ( 1)拷貝構(gòu)造函數(shù)是用已存在對象的各成員當(dāng)前值來創(chuàng)建一個相同的新對象。 ?當(dāng)對象作為函數(shù)的賦值參數(shù)而對函數(shù)進(jìn)行調(diào)用要進(jìn)行實參和形參的結(jié)合時。 第 4章 繼承機制 賦值運算符重載函數(shù)與拷貝構(gòu)造函數(shù)區(qū)別 ( 2) 賦值運算符重載函數(shù)要把一個已存在對象的各成員當(dāng)前值賦值給另 —個已存在的同類對象 【 例 】 分析下面程序,注意賦值運算符重載函數(shù)與拷貝構(gòu)造函數(shù)的區(qū)別。 重載下標(biāo)運算符格式: 〈 類型 〉 operator[ ] ( int ); 該重載函數(shù)必須且只能帶一個形參,且規(guī)定其參數(shù)值相當(dāng)于下標(biāo)值。 返回本節(jié) 第 4章 繼承機制 ( )運算符重載 與下標(biāo)運算符 [ ]一樣,函數(shù)調(diào)用運算符 ( )只能以成員函數(shù)的形式重載。 第 4章 繼承機制 ( )運算符重載 【 例 】 重載函數(shù)調(diào)用運算符( ),計算下列函數(shù)的值: f( x, y) =5x+6y+7 第 4章 繼承機制 ( )運算符重載 【 例 】 重載函數(shù)調(diào)用運算符( )訪問二維數(shù)組元素,并進(jìn)行越界檢查。使用構(gòu)造函數(shù)進(jìn)行類型轉(zhuǎn)換必須有一個前提,那就是類中一定具有最多只有一個非默認(rèn)參數(shù)的構(gòu)造函數(shù)。測試程序如下: 第 4章 繼承機制 基本類型到類類型的轉(zhuǎn)換 int main() { Complex c1(,),c2(,)。 coutc1=。 coutc2=。 c=c1+12。 coutc1+12=。 c=c212。 coutc212=。 return 0。為此, C++引入一種特殊的成員函數(shù) ——類類型轉(zhuǎn)換函數(shù)。 第 4章 繼承機制 類類型到基本類型的轉(zhuǎn)換 類類型轉(zhuǎn)換函數(shù)專門用來將類類型轉(zhuǎn)換為基本數(shù)據(jù)類型,它只能被重載為成員函數(shù)。 目的:理解重載運算符的意義;掌握用成員函數(shù)、友員函數(shù)重載運算符的特點;掌握重載運算符函數(shù)的調(diào)用方法。 強類型語言提高了程序的可靠性,但也帶來了一些負(fù)作用,例如 : 第 4章 繼承機制 類型的嚴(yán)格性與靈活性 以下兩個函數(shù) int max(int a,int b) {return ab? a:b。} 第 4章 繼承機制 強類型的程序設(shè)計迫使程序員為邏輯結(jié)構(gòu)相同而具體數(shù)據(jù)類型不同的對象編寫模式 —致的代碼,而無法抽取其中的共性,不利于程序的擴充和維護。 返回本節(jié) 解決沖突的途徑 第 4章 繼承機制 模板的概念 模板是一種參數(shù)化多態(tài)性的工具,可以為邏輯功能相同而類型不同的程序提供一種代碼共享的機制。 一個模板并非一個實實在在的函數(shù)或類,僅僅是一個函數(shù)或類的描述,這些模板運算對象的類型不是實際的數(shù)據(jù)類型,而是一種參數(shù)化的類型 (又稱為類屬類型 )。這個過程稱為實例化。 第 4章 繼承機制 模板的概念 返回本節(jié) 實例化 實例化 模板 (函數(shù)模板或類模板) 模板函數(shù) 模板類 對 象 實例化 第 4章 繼承機制 函數(shù)模板 返回首頁 函數(shù)模板的定義 函數(shù)模板的實例化 函數(shù)模板的重載 第 4章 繼承機制 函數(shù)模板的定義 函數(shù)模板的定義格式如下: template 模板參數(shù)表 返回值類型 函數(shù)名 (參數(shù)表 ) { 函數(shù)體 } 其中 : 第 4章 繼承機制 函數(shù)模板的定義 ?關(guān)鍵字 template是定義一個模板的關(guān)鍵字 ?模板參數(shù)表 中包含一個或多個用逗號分開的模板參數(shù)項,每一項由保留字 class或 typename開始,后跟一個用戶命名的標(biāo)識符,此標(biāo)識符為模板參數(shù),表示一種數(shù)據(jù)類型,函數(shù)模板中可以利用這些模板參數(shù)定義函數(shù)返回值類型、參數(shù)類型和函數(shù)體中的變量類型。 第 4章 繼承機制 【 例 】 定義函數(shù)模板求兩個數(shù)中的較大值。} 當(dāng)程序中使用這個函數(shù)模板時,編譯程序?qū)⒏鶕?jù)函數(shù)調(diào)用時的實際數(shù)據(jù)類型產(chǎn)生相應(yīng)的函數(shù)。 函數(shù)模板的定義 第 4章 繼承機制 參數(shù)表 中可以使用模板參數(shù),也可以使用一般類型參數(shù)。 例如: template typename T1, typename T2 T1 func(T2) {┅┅ } 是錯誤的聲明,盡管 func()的返回值用到了模板參數(shù)表中的 T1,但函數(shù)參數(shù)表中沒有用到模板參數(shù) T1。 函數(shù)模板的定義 返回本節(jié) 第 4章 繼承機制 函數(shù)模板的實例化 函數(shù)模板是對一組函數(shù)的描述,它以類型作為參數(shù)及函數(shù)返回值類型。當(dāng)編譯系統(tǒng)在程序中發(fā)現(xiàn)有與函數(shù)模板中相匹配的函數(shù)調(diào)用時,便生成一個重載函數(shù)。我們稱該重載函數(shù)為模板函數(shù),它是函數(shù)模板的一個具體實例。 第 4章 繼承機制 函數(shù)模板的實例化 函數(shù)模板和模板函數(shù)的關(guān)系 返回本節(jié) 函數(shù)模板 t e m p l at e t y p e n am e T T m ax (T a, T b ) 模板函數(shù) int m ax ( int , int ) 模板函數(shù) c h ar m ax ( c h ar , c h ar ) 模板函數(shù) fl o at m ax ( fl o at , fl o at ) 模板函數(shù) s t ri n g m ax ( s t ri n g , s t ri n g ) 實例化 實例化 實例化 實例化 第 4章 繼承機制 函數(shù)模板的重載 函數(shù)模板可以用多種方式重載,可以定義同名的函數(shù)模板,提供不同的參數(shù)和實現(xiàn)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1