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

正文內(nèi)容

第八章:應(yīng)用框架-文庫(kù)吧

2025-08-25 13:26 本頁(yè)面


【正文】 架中的函數(shù) 。 ☆ 如果程序中的函數(shù)已修正或取代預(yù)設(shè)函數(shù),框架就調(diào)用程序中的函數(shù);反之則調(diào)用預(yù)設(shè)函數(shù)。 三、應(yīng)用框架的特點(diǎn) 三、應(yīng)用框架的特點(diǎn) 抽象類 抽象一詞常令人覺(jué)得那是難以體會(huì)的事 。 在應(yīng)用框架上 , 如果您把抽象定義為抽出共同的特征 , 那就比較容易理解了 。 抽象類是面向?qū)ο笾兄匾母拍?, 用途非常廣 , 這一節(jié)我們主要使用 C++語(yǔ)言來(lái)描述一些概念。 怎樣得到抽象類 , 比如 , 觀察兩個(gè)相似的類 , 并分辨其相同與相異點(diǎn), 然后把相同點(diǎn)抽離出來(lái) , 構(gòu)成父類 , 就是抽象類了 。 由于這過(guò)程很簡(jiǎn)單 , 就廣義上而言 , 都要經(jīng)過(guò)下述過(guò)程: Step 1. 觀察幾個(gè)相似的類 。 Step 2. 分辨它們的異同點(diǎn) 。 Step 3. 把它們的相同點(diǎn)抽離出來(lái) 。 而導(dǎo)出的父類都稱為抽象類 。 然而軟件中 , 對(duì)抽象類采取較嚴(yán)格的定義 。 其定義為: 如果在類中 , 有些函數(shù)是不完整的 , 就稱為抽象類 。 反之 , 如果類中的函數(shù) , 都是完整的 , 就稱為具體類 。 所謂不完整 ,就是函數(shù)的內(nèi)容從缺 , 例如: class Person { public: virtual void Display()=0。 }。 Display()=0 指令的 “ =0” 符號(hào) , 表示此為純粹虛擬函數(shù) 。 這種函數(shù)內(nèi)的指令從缺 , 等待子類來(lái)補(bǔ)充 。 因此 , C++ 有個(gè)更明確的定義: 凡類中含有純粹虛擬函數(shù) , 就是抽象類 。 抽象類 也得注意:子類并不見(jiàn)得是具體類 , 例如: class Person { public: virtual void Display()=0。 }。 class Employee : public Person { ..... public: ..... }。 這 Employee是個(gè)子類 , 但它未將 Display() 函數(shù)充實(shí)完整 , 仍是個(gè)抽象類 。 三、應(yīng)用框架的特點(diǎn) 例如 , include class Person { protected: char name[20]。 public: void SetName( char* na ) { strcpy( name, na )。 } virtual void Display()=0。 }。 class Customer : public Person { public: virtual void Display() { cout Customer: name endl。 } }。 三、應(yīng)用框架的特點(diǎn) Customer類將 Display() 函數(shù)補(bǔ)充完整了 , Customer成為具體類 。 這Display() 函數(shù)仍是虛擬函數(shù) , 但已不是純粹虛擬函數(shù)了 。 由于抽象類的某些函數(shù)并不完整 , 若此類創(chuàng)建其對(duì)象 , 則該對(duì)象無(wú)法表達(dá)出某些行為 , 所以 C++ 禁止其創(chuàng)建對(duì)象 , 這是抽象類與具體類的重要區(qū)別 。 ● 抽象類的目的 ──供具體類來(lái)繼承它 , 但不用來(lái)創(chuàng)建對(duì)象 。 ● 具體類之目的 ──創(chuàng)建對(duì)象 。 抽象類不能用于創(chuàng)建對(duì)象 , 應(yīng)注意下述限制: ☆ 不能做為數(shù)據(jù)成員的類型 。 例如 , include class Company { Person president。 public: }。 void main() { Company c。 } president 是 Company 類的數(shù)據(jù)成員 , 當(dāng) Company 類派生其對(duì)象時(shí) ,也得派生 president 對(duì)象 , 這是 C++ 所不允許的 。 三、應(yīng)用框架的特點(diǎn) ☆ 不能做為自變量的類型 。 例如 , include void disp( Person p ) { ( Tom )。 } void main() { Person x。 disp( x )。 } 這含有兩個(gè)錯(cuò)誤:指令 ── ● Person 無(wú)法派生自動(dòng)對(duì)象 x。 ● 自變量 p ── Person 欲派生 p 對(duì)象;但自變量也是自動(dòng)對(duì)象 , C++ 并不允許 。 如果 Person 為具體類就對(duì)了 。 三、應(yīng)用框架的特點(diǎn) ☆ 不可做為函數(shù)的類型 。 例如 , Person Sub( Person p ) { return p。 } Sub() 函數(shù)將傳回 p 對(duì)象的內(nèi)容 , 此時(shí)必需派生暫時(shí)的 Person對(duì)象來(lái)接受 return傳來(lái)的對(duì)象內(nèi)容 。 但 Person無(wú)法派生暫時(shí)對(duì)象 , 所以錯(cuò)了 。 若改為: Customer Sub( Customer c ) { return c。 } 就可以了 。 三、應(yīng)用框架的特點(diǎn) ☆ 不能用來(lái)轉(zhuǎn)換對(duì)象的類型 。 例如 , include void main() { Customer cust。 ( Linda )。 ((Person)cust).SetName( Jacky )。 } (Person) cust 指令將派生 Person的臨時(shí)對(duì)象 , 再將 cust對(duì)象值轉(zhuǎn)換并存入該臨時(shí)對(duì)象中 , 但 Person無(wú)法產(chǎn)生該臨時(shí)對(duì)象 , 所以錯(cuò)了 。 三、應(yīng)用框架的特點(diǎn) 抽象類正確的使用如下幾條: ☆ 使用抽象類指針來(lái)指向子類的對(duì)象 。 例如 , include include // 引用類 Person和 Customer void main() { Customer cust。 ( Linda )。 Person* p = amp。cust。 pDisplay()。} 此程序聲明了抽象類的指針 p , 并令 p 指向子類的對(duì)象 cust。 所
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1