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

正文內(nèi)容

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

2025-08-25 13:26 本頁面


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