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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計教程c語言描述下ppt(留存版)

2024-11-30 05:35上一頁面

下一頁面
  

【正文】 對象可以作為基類的對象來使用的地方。 第 4章 繼承機(jī)制 繼承和派生的基本概念 從現(xiàn)存類中派生出新類時,可以對派生類做如下幾種變化: ?增加新的成員變量 ?增加新的成員函數(shù) ?重新定義已有的成員函數(shù) ?改變現(xiàn)有成員的屬性 返回本節(jié) 第 4章 繼承機(jī)制 繼承的種類 一個派生類既可以從一個基類派生,也可以從多個基類派生。 在 C++中,單一繼承的一般形式為: 第 4章 繼承機(jī)制 單繼承 class〈派生類名〉:〈繼承方式〉〈基類名〉 { public: 公有數(shù)據(jù)和函數(shù) protected: 保護(hù)數(shù)據(jù)和函數(shù) private: 私有數(shù)據(jù)和函數(shù) }。 ?派生類的對象的地址可以賦給指向基類的指針 例如: DerivedClass d。 【例 】下面程序調(diào)用了不同基類的相同成員,分析程序中出現(xiàn)的二義性。 例如: 第 4章 繼承機(jī)制 虛基類 class Baseclass1:visual public Base { public: void seta(int x){val=x。 ? 若派生類和基類都有構(gòu)造函數(shù),但基類沒有缺省構(gòu)造函數(shù),則派生類的每一個構(gòu)造函數(shù)必須在其初始化列表中顯式地調(diào)用基類的某個構(gòu)造函數(shù)。圓柱體類由半徑和高構(gòu)成。 第 4章 繼承機(jī)制 運算符重載的規(guī)則 (5) 重載運算符要保持原有的基本語義不變。同樣,也應(yīng)將 +=、- =等這些賦值運算符重載為成員函數(shù)。這樣賦值就能進(jìn)行連續(xù)賦值操作。使用構(gòu)造函數(shù)進(jìn)行類型轉(zhuǎn)換必須有一個前提,那就是類中一定具有最多只有一個非默認(rèn)參數(shù)的構(gòu)造函數(shù)。 return 0。這個過程稱為實例化。我們稱該重載函數(shù)為模板函數(shù),它是函數(shù)模板的一個具體實例。 使用函數(shù)類型參數(shù)的類模板 第 4章 繼承機(jī)制 使用函數(shù)類型參數(shù)的類模板 返回本節(jié) 第 4章 繼承機(jī)制 類模板可以包含與通用類型相關(guān)的默認(rèn)參數(shù)。 另一個重要區(qū)別是它們在時間和存儲效率上不相同。 雖然指針也是一種迭代器,但迭代器卻不僅僅是指針。類似地,輸出流可以發(fā)送給屏幕或文件。 使用 ios類的成員函數(shù)進(jìn)行格式控制 第 4章 繼承機(jī)制 【 例 】 以幾種不同的格式輸出同一浮點數(shù),示例如何使用成員函數(shù)來操作標(biāo)志字。 a) { 函數(shù)體 return s。 第 4章 繼承機(jī)制 輸入流的常用成員函數(shù) () 與帶 3個參數(shù)的 get成員函數(shù)類似,它讀取一行字符串后在字符數(shù)組末尾加入’ \0’。 2. put()函數(shù) ostreamamp。 在 C++中,文件定義為文件流類的一個對象,要進(jìn)行文件的輸入/輸出,必須先創(chuàng)建 —個文件流對象,并與指定的文件相關(guān)聯(lián),即打開文件,然后才能進(jìn)行讀寫操作,完成后再關(guān)閉這個文件,這就是在 C++中進(jìn)行文件讀寫的基本過程。 【 例 】 從輸入的串中分離數(shù)字串,先將其存入磁盤文件,然后將其讀出并在屏幕上顯示出來。 在文本文件中,每個字節(jié)存放一個 ASCII代碼表示一個字符,文本文件的優(yōu)點是可直接按字符形式輸出,供人們閱讀。其作用是觀測該字符,字符指針仍停留在原來位置上。 第 4章 繼承機(jī)制 輸入流的常用成員函數(shù) ?istreamamp。由于重載插入符和提取符時,其左邊的參數(shù)是流,而右邊的參數(shù)是類的對象,因此,插入符和提取符只能重載為友元函數(shù)。 (2) long flags(long) 該函數(shù)使用參數(shù)值來更新標(biāo)志字,并返回更新前的標(biāo)志字。 目的:掌握類模板的實際應(yīng)用,了解自定義類模板與 STL使用的區(qū)別。成員函數(shù) find(), count(),lower_bound()和 upper_bound()基于元素鍵值的查找和計數(shù)。 容器 第 4章 繼承機(jī)制 3種容器具有各自不同的特點 。 類模板的實例化 第 4章 繼承機(jī)制 類模板實例化以及類實例化的邏輯關(guān)系 類模板的實例化 類模板 a t y p e ( A T y p e ) 模板類 a t y p e in t 模板類 a t y p e d o u b l e i n t o b 對象 d o u b l e o b 對象 實例化 實例化 實例化 實例化 返回本節(jié) 第 4章 繼承機(jī)制 在類模板的 模板參數(shù)表 中,必須至少有一個類參數(shù),當(dāng)然可以有多個類參數(shù)。 函數(shù)模板的定義 返回本節(jié) 第 4章 繼承機(jī)制 函數(shù)模板的實例化 函數(shù)模板是對一組函數(shù)的描述,它以類型作為參數(shù)及函數(shù)返回值類型。 返回本節(jié) 解決沖突的途徑 第 4章 繼承機(jī)制 模板的概念 模板是一種參數(shù)化多態(tài)性的工具,可以為邏輯功能相同而類型不同的程序提供一種代碼共享的機(jī)制。 c=c212。 返回本節(jié) 第 4章 繼承機(jī)制 ( )運算符重載 與下標(biāo)運算符 [ ]一樣,函數(shù)調(diào)用運算符 ( )只能以成員函數(shù)的形式重載。只要非靜態(tài)成員函數(shù)載運行,this指針就在作用域內(nèi)。解決這個問題的辦法就是用用友元函數(shù)而不是成員函數(shù)重載加法。 第 4章 繼承機(jī)制 運算符重載的規(guī)則 (2) 不能重載對內(nèi)部 C++數(shù)據(jù)類型進(jìn)行操作的運算符。 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 返回本節(jié) 第 4章 繼承機(jī)制 繼承機(jī)制下析構(gòu)函數(shù)的調(diào)用順序 由于析構(gòu)函數(shù)不能被繼承,因此在執(zhí)行派生類的析構(gòu)函數(shù)時,也要調(diào)用基類的析構(gòu)函數(shù)。 第 4章 繼承機(jī)制 繼承機(jī)制下構(gòu)造函數(shù)的調(diào)用順序 返回本節(jié) 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 分四種情況討論派生類構(gòu)造函數(shù)的規(guī)則: ? 若派生類有構(gòu)造函數(shù)而基類沒有,當(dāng)創(chuàng)建派生類的對象時,派生類的相應(yīng)構(gòu)造函數(shù)被自動調(diào)用。 二義性檢查是在訪問權(quán)限檢查之前進(jìn)行的 , 因此 , 成員的訪問權(quán)限是不能解決兩義性問題的 。 出錯。 b=d。 從多個基類派生類的繼承被稱為多繼承。多繼承形成的類層次是一個有向無環(huán)圖。 第 4章 繼承機(jī)制 公有繼承 ?派生類的對象可以初始化基類的引用 例如: DerivedClass d。私有繼承使 Point類中的公有成員函數(shù) movexy()的性質(zhì)發(fā)生了變化。 返回本節(jié) 第 4章 繼承機(jī)制 虛基類 引進(jìn)虛基類的目的是為了解決二義性問題 ,使得公共基類在它的派生類對象中只產(chǎn)生一個基類子對象 。 ?若派生類沒有構(gòu)造函數(shù)而基類有,則基類必須擁有缺省構(gòu)造函數(shù)。其執(zhí)行順序如下: 先調(diào)用派生類的析構(gòu)函數(shù) 再調(diào)用派生類中子對象類的析構(gòu)函數(shù)(如果派生類中有子對象) 再調(diào)用普通基類的析構(gòu)函數(shù) 最后調(diào)用虛基類的析構(gòu)函數(shù) 第 4章 繼承機(jī)制 繼承機(jī)制下析構(gòu)函數(shù)的調(diào)用順序 【例 】給例 ,分析程序的輸出結(jié)果,理解派生類析構(gòu)函數(shù)的調(diào)用順序。 例如,不能重載二元浮點減法運算符。這時,該語句右邊的表達(dá)式被解釋為: operator + (, c1)。例 返回一個 Namelist對象的引用,返回表達(dá)式是 *this,通過對 this的提取操作得到對象本身。 重載函數(shù)調(diào)用運算符格式: 〈 類型 〉 operator( )( 〈 參數(shù)表 〉 ); 其中, 〈 類型 〉 可以為任意類型, 〈 參數(shù)表 〉 中可以是任意多個參數(shù),也可以沒有參數(shù),可以指定默認(rèn)值。 //c= (12)。 在 C++中,模板分為函數(shù)模板和類模板。它不是一個實實在在的函數(shù),編譯時并不產(chǎn)生任何執(zhí)行代碼。還可以有非類參數(shù)的參數(shù),一般稱之為函數(shù)類型參數(shù),也稱之為無類型模板參數(shù)。例如, vector和 deque都重載了操作符 [ ],而 1ist則沒有,所以 1ist容器不支持隨機(jī)訪問,除 operator[ ]和 at()函數(shù)外, 1ist提供 vector的其余功能。 set, multiset與 map, multimap很相似。 返回首頁 第 4章 繼承機(jī)制 第 8章 I/O流 概述 格式化輸入 /輸出 重載流的插入符和提取符 常用成員函數(shù) I/O 流的錯誤處理 文件流操作 應(yīng)用實例 第 4章 繼承機(jī)制 概述 返回首頁 流的概念 流類庫 支持文件的流類 第 4章 繼承機(jī)制 流的概念 在 C++的輸入輸出系統(tǒng)中,最核心的對象是流 (stream)。 使用 ios類的成員函數(shù)進(jìn)行格式控制 第 4章 繼承機(jī)制 (3) long setf(long setbits, long field) 該函數(shù)用來將 field所指定的標(biāo)志位清零,將 setbits為 1的標(biāo)志位置為 1,并返回設(shè)置前的標(biāo)志字。 插入符重載的一般格式如下: ostreamamp。 int get(charamp。 返回本節(jié) 第 4章 繼承機(jī)制 輸出流的常用成員函數(shù) ()函數(shù) ostreamamp。二進(jìn)制文件則是把數(shù)據(jù)的內(nèi)部存儲形式原樣存放到文件中,這種文件的優(yōu)點是與數(shù)據(jù)在內(nèi)存中的存儲形式保持一致,因此存儲效率高,無須進(jìn)行存儲形式的轉(zhuǎn)換,但不能直接按字符形式輸出。 文件的讀寫 第 4章 繼承機(jī)制 2.二進(jìn)制文件的讀寫 二進(jìn)制文件用 binary方式打開,讀寫方式完全由程序控制,一般的字處理軟件不能參與編輯。在 C++中,文件既可以進(jìn)行順序訪問,也可以進(jìn)行隨機(jī)訪問。 將指定的 nCount個字符輸入到內(nèi)存中的字符數(shù)組 pch。函數(shù)要么在讀取到nCount1個字符后終止,要么在讀取到指定的分隔符 delim時終止。 s, classaamp。 (5)long unsetf(long) 該函數(shù)用來清除參數(shù)所指定的那些標(biāo)志位,并返回更新前的標(biāo)志字。如果輸入流來源于鍵盤,表明你的程序要從鍵盤獲取輸入;如果輸入流來源于一個文件,表明程序要從那個文件獲取輸入。 容器 第 4章 繼承機(jī)制 【 例 】 示例 STL容器的使用 容器 第 4章 繼承機(jī)制 容器 返回本節(jié) 第 4章 繼承機(jī)制 迭代器 簡單地說,迭代器是面向?qū)ο蟀姹镜闹羔槪?STL算法利用迭代器對存儲在容器中的元素序列進(jìn)行遍歷,迭代器提供了訪問容器和序列中每個元素的方法。deque容器就像 vector和 1ist的混合體,既支持 vector的行為,又支持 1ist的行為。 使用函數(shù)類型參數(shù)的類模板 第 4章 繼承機(jī)制 【 例 】 定義一個數(shù)組類模板,并能夠指定數(shù)組的大小。該重載函數(shù)的函數(shù)體與函數(shù)模板的函數(shù)體相同,參數(shù)為具體的數(shù)據(jù)類型。 第 4章 繼承機(jī)制 模板的概念 模板的類屬參數(shù)由調(diào)用它的實際參數(shù)的具體數(shù)據(jù)類型替換,由編譯器生成一段真正可以運行的代碼。 ()。 返回本節(jié) 第 4章 繼承機(jī)制 類類型轉(zhuǎn)換運算符重載 基本類型到類類型的轉(zhuǎn)換 類類型到基本類型的轉(zhuǎn)換 返回首頁 第 4章 繼承機(jī)制 基本類型到類類型的轉(zhuǎn)換 利用構(gòu)造函數(shù)能完成從基本類型到類類型的轉(zhuǎn)換。 函數(shù)返回 n2的引用。 第 4章 繼承機(jī)制 兩種運算符重載形式的比較 重載為友元函數(shù)的一些限制: ?為保持與 C++中規(guī)定的賦值語義相一致,賦值運算符雖然它是一個二元操作符,但不能重載為友員函數(shù)。 (4) 不能重載下面運算符: . 類成員選擇運算符 .* 成員指針運算符 :: 作用域運算符 ?: 條件表達(dá)式運算符 除此之外的運算符都可以被重載,并且只有“ =”的重載函數(shù)不能被繼承。圓包括圓心和半徑兩個數(shù)據(jù)成員,圓心具有點類的所有特征。 第 4章 繼承機(jī)制 派生類構(gòu)造函數(shù)的調(diào)用規(guī)則 ? 若派生類有構(gòu)造函數(shù),且基類有缺省構(gòu)造函數(shù),則創(chuàng)建派生類的對象時,基類的缺省構(gòu)造函數(shù)會自動執(zhí)行,除非當(dāng)前被調(diào)用的派生類構(gòu)造函數(shù)在其初始化段中顯式地調(diào)用了基類的
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1