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

正文內(nèi)容

面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(完整版)

  

【正文】 是類 Record的成員函數(shù) { cout”名稱: ” booknameendl。 } void record::show() { cout”名稱: ” booknameendl。 返回 17 類與對(duì)象的定義 //調(diào)用成員函數(shù) show, 顯示 book1對(duì)象的數(shù)據(jù)成員 //bookname和 number的值 ()。 ()。時(shí) , 成員函數(shù) regist除了接受兩個(gè)實(shí)參外 , 還接 返回 20 類與對(duì)象的定義 受了一個(gè)對(duì)象 book1的地址,這個(gè)地址被一個(gè)隱含的形參this指針?biāo)@取,它等同于執(zhí)行 this=amp。 返回 21 類與對(duì)象的定義 對(duì)象賦值語(yǔ)句 對(duì)于同一個(gè)類生成的兩個(gè)對(duì)象 , 可以進(jìn)行賦值 ,其功能是將一個(gè)對(duì)象的數(shù)據(jù)成員賦值到另一個(gè)對(duì)象中去 , 賦值語(yǔ)句的左右兩邊各是一個(gè)對(duì)象名: 【 例 31】 對(duì)于類 example的兩個(gè)對(duì)象 obj1和 obj2,讓 obj2的成員數(shù)據(jù)的值等于 obj1的成員數(shù)據(jù)的值 ( 假定 obj1的成員數(shù)據(jù) num已經(jīng)存有數(shù)據(jù) 215) 。 obj2=obj1。 }。 void fn() { static Stool ss。 4.類中成員的構(gòu)造次序是以類中聲明成員的次序進(jìn)行。 如: 【 例 32】 類 person包括 4個(gè)數(shù)據(jù)成員,用來(lái)記錄人員信息。 }。 cout 工資: salary endl 。 【 例 33】 類 rec定義兩個(gè)重載函數(shù) , 其中一個(gè)是無(wú)參函數(shù) ,另一個(gè)是有參函數(shù) 。 Rec :: Rec () //第 1個(gè)構(gòu)造函數(shù)定義 { strcpy(bookname, 39。 } void main() //主程序 { Rec mybook(“ Visual C++” ,10020)。 與變量定義相似 , 在用默認(rèn)構(gòu)造函數(shù)創(chuàng)建對(duì)象時(shí) , 如果創(chuàng)建的是全局對(duì)象或靜態(tài)對(duì)象 , 則對(duì)象的默認(rèn)值為 0,否則對(duì)象的初始值是不定的 。 Myclass y。 返回 41 構(gòu)造函數(shù)與析構(gòu)函數(shù) 【 例 34】 類 Teacher的構(gòu)造函數(shù)為 name申請(qǐng)存儲(chǔ)空間 , 在析構(gòu)函數(shù)中釋放該空間 。 //說(shuō)明析構(gòu)函數(shù) ~Teacher ~ Teacher ( ) { delete name 。 } 程序的執(zhí)行結(jié)果是: 執(zhí)行構(gòu)造函數(shù) Teacher 姓名:張立三 年齡: 25 執(zhí)行析構(gòu)函數(shù) ~Teacher 返回 44 構(gòu)造函數(shù)與析構(gòu)函數(shù) 拷貝構(gòu)造函數(shù) 拷貝構(gòu)造函數(shù)是 C++中引入的一種新的構(gòu)造函數(shù) 。 public: example(int i, char *str ) // 構(gòu)造函數(shù)定義 { name=str。 //使用拷貝構(gòu)造函數(shù)構(gòu)造 obj2 ()。 ?? 類名 n 成員名 n。 在構(gòu)造新類的對(duì)象過(guò)程中 , 系統(tǒng)首先調(diào)用其子對(duì)象的構(gòu)造函數(shù) , 初始化子對(duì)象;然后才執(zhí)行類 X自己的構(gòu)造函數(shù) ,初始化類中的非對(duì)象成員 。 }。 }。 name[sizeof(name)1]=39。 }。 //此處調(diào)用 Tutor的構(gòu)造函數(shù) Tutor(Student amp。 //引用 refi }。 }。 但是 , 在類域中定義的變量不能使用 auto、register和 extern等修飾符 , 而且在類域中定義的函數(shù)也不能使用 extern修飾符 。 void myfunc()。 ()。 當(dāng)通過(guò)對(duì)象名時(shí) , 應(yīng)使用圓點(diǎn)成員選擇符 “ .”;當(dāng)通過(guò)指針時(shí) ,應(yīng)使用箭頭成員選擇符 “ ”。 派生類不僅可以繼承原來(lái)類的成員 , 還可以通過(guò)以下方式產(chǎn)生新的成員: 返回 69 繼承和派生 ( 1) 增加新的數(shù)據(jù)成員; ( 2) 增加新的成員函數(shù); ( 3) 重新定義已有成員函數(shù); ( 4) 改變現(xiàn)有成員的屬性 。 ( 2) C++關(guān)于類的繼承方式的規(guī)定 , 如下表 : ① 按 private方式繼承 ( 即私有繼承 ) 時(shí) , 基類中的公有成員和保護(hù)成員在派生類中皆變?yōu)樗接谐蓡T 。 基類 公有派生類 私有派生類 public成員 public成員 private成員 protected成員 protected成員 private成員 private成員 無(wú)法繼承 無(wú)法繼承 返回 73 繼承和派生 ( 3) 在 C++中 , 可以根據(jù)需要定義多層的繼承關(guān)系 , 也可以從一個(gè)基類派生出多個(gè)類 , 形成類的層次結(jié)構(gòu) , 在類的層次結(jié)構(gòu)中 , 處于高層的類 , 表示最一般的特征 ,而處于底層的類 , 表示更具體的特征 , 在多層繼承關(guān)系中 , 基類與派生類的關(guān)系是相對(duì)的 , 例如:由類 A派生出類 B, 再由類 B派生出類 C, 這里類 B相對(duì)于類 A是派生類 ,而相對(duì)于類 C是基類 , 并稱類 C是類 A的間接派生類 , 稱類 A是類 C 的間接基類;而稱具有直接派生關(guān)系的兩個(gè)類分別為直接派生類和直接基類 。 public: void set1(int x, int y, int a) { posi_x=x。 cout 高度: heightendl。 返回 77 繼承和派生 3. 派生類的數(shù)據(jù)成員和成員函數(shù) 、 構(gòu)造過(guò)程與構(gòu)造函數(shù) ( 1) 派生類的數(shù)據(jù)成員和成員函數(shù)的來(lái)源有兩個(gè) , 一個(gè)來(lái)源是從基類繼承來(lái)的數(shù)據(jù)成員和成員函數(shù) , 對(duì)于繼承來(lái)的數(shù)據(jù)成員 , 即使沒有用也不能取消 , 只能不理會(huì)它們 , 但允許對(duì)一些繼承來(lái)的成員函數(shù)重新定義 , 即在原有基類的成員函數(shù)的基礎(chǔ)上 , 再增加一些操作 , 以完成派生類所要求的操作 。 而系統(tǒng)執(zhí)行析構(gòu)函數(shù)的順序恰恰相反 , 即先執(zhí)行派生類的析構(gòu)函數(shù) , 再執(zhí)行基類的析構(gòu)函數(shù) 。 } }。 } 返回 83 繼承和派生 void main() {Ccircle circle(10)。 ( 2) 由于繼承關(guān)系 , 在類 Ccylinder中存在兩個(gè)同名的函數(shù) arear()。 ( 3) 使用作用域運(yùn)算符 “ ::”進(jìn)行區(qū)分 , 如: Ccircle::area() 以上三種區(qū)分方法都是在程序編譯過(guò)程中完成的 , 稱為靜態(tài)聯(lián)編 , 除此之外 , C++還提供稱為動(dòng)態(tài)聯(lián)編 。 public: B1(int val1) { b1=val1。 返回 90 繼承和派生 public: D(int val1, int val2, int val3)。 將一個(gè)基類聲明為虛基類必須在各派生類定義時(shí) , 在基類的名稱前面加上關(guān)鍵字 virtual, 格式如下: class 派生類名: virtual public 基類名 { //聲明派生類成員 }; 返回 93 繼承和派生 使用虛基類時(shí) , 要特別注意派生類的構(gòu)造函數(shù) , 對(duì)于普通基類 , 派生類的構(gòu)造函數(shù)負(fù)責(zé)調(diào)用其直接基類的構(gòu)造函數(shù)以初始化其直接基類的數(shù)據(jù)成員 , 而對(duì)于虛基類的任何派生類 , 其構(gòu)造函數(shù)不僅負(fù)責(zé)調(diào)用直接基類的構(gòu)造函數(shù) ,還需調(diào)用虛基類的構(gòu)造函數(shù) , 如圖 , 若基類 B被聲明為虛基類 , 則派生類 D3負(fù)責(zé)調(diào)用三個(gè)基類( 直接基類 D D2和虛基類 B) 的構(gòu)造函數(shù) , 而派生類D1和 D2不會(huì)調(diào)用虛基類 B的構(gòu)造函數(shù) , 只由最終端的派生類 D3負(fù)責(zé)調(diào)用虛基類的構(gòu)造函數(shù) 。 public: B(int bval=0) 返回 94 繼承和派生 { b=bval。 D::D(int val1, int val2, int val3):B1(val1),B2(val2) //如改為 D::D(int val1, int val2, int val3): B2(val2), B1(val1)效果一樣 { d=val3。 } }。 在 C++中不僅支持單一繼承 , 而且也支持多重繼承 , 所謂 多重繼承 , 是指派生類從多個(gè)基類中派生而來(lái) , 使派生類繼承多個(gè)基類的特征 ,在多重繼承關(guān)系中 , 派生類有多個(gè)直接基類 。 這樣 , 當(dāng)通過(guò)派生類對(duì)象調(diào)用 area()函數(shù)時(shí) , C++編譯器將沿繼承關(guān)系搜索 , 使用離調(diào)用對(duì)象最近的那個(gè)版本的函數(shù) 。 cout圓柱體表面積 :()endl。 public: Ccylinder(double radiusval, double heightval)。 如: 【 例 310】 本例中分別定義一個(gè)描述圓的類 Ccircle和描述一個(gè)圓柱體的類 Ccylinder。 ( 2) 通過(guò)派生類的對(duì)象調(diào)用一個(gè)被重新定義過(guò)的基類的成員函數(shù) , 所調(diào)用的是派生類的成員函數(shù) , 此時(shí) , 若想調(diào)用基類的成員函數(shù) , 必須在成員函數(shù)名前加基類名作用域分隔符 “ :: ” 。 } }。 area=a。 它的數(shù)據(jù)成員有 posi_x、 posi_y和 area, 分別是樓房位置的經(jīng) 、 緯度和建筑面積 。 返回 72 繼承和派生 ③ 無(wú)論哪種繼承方式 , 基類的私有成員均不能繼承 。 由此可見 , 派生類既可以對(duì)基類的性質(zhì)進(jìn)行擴(kuò)展 , 又可以進(jìn)行限制 , 從而得到更加靈活 、 更加適用的可重用模塊 , 大大縮短程序的開發(fā)時(shí)間 。與 ptestmyfunc()。 } 程序的運(yùn)行結(jié)果為: x=100,y=200 In myfunc: x=9,y=10 Myclass::x=100,Myclass::y=200 說(shuō)明: ( 1) 類成員函數(shù)的原型在類的定義體中聲明 , 具有類作用域 , 但其實(shí)現(xiàn)部分在類的定義體外 。 返回 65 構(gòu)造函數(shù)與析構(gòu)函數(shù) void Myclass::print() { coutx=x,y=yendl。 返回 64 構(gòu)造函數(shù)與析構(gòu)函數(shù) 【 例 39】 類域及其成員引用舉例 ,設(shè)以下程序代碼被存放到了一個(gè)程序文件中。 void employee :: show() { cout \n x的值是: x endl。 2. 解決以上問題的方法是利用初始化表:在構(gòu)造函數(shù)的括號(hào)后面加一 “ : ” 和初始化表 , 初始化表的格式是: 數(shù)據(jù)成員名 ( 值 ) , 如果有多個(gè)時(shí) , 需要用逗號(hào)隔開 。s) } 執(zhí)行結(jié)果如下: 構(gòu)造新同學(xué): No name 構(gòu)造新同學(xué): zhang 構(gòu)造 copy of zhang 返回 59 構(gòu)造函數(shù)與析構(gòu)函數(shù) 構(gòu)造指導(dǎo)教師 析構(gòu) copy of zhang 析構(gòu) zhang 析構(gòu) No name 利用初始化表對(duì)常量數(shù)據(jù)成員或引用成員提供初值 如前所述 , 構(gòu)造函數(shù)可對(duì)對(duì)象的數(shù)據(jù)成員進(jìn)行初始化 ,但若數(shù)據(jù)成員為常量成員或引用成員時(shí) , 就有所不同 , 如: class Sillyclass { public : Sillyclass() // 此構(gòu)造函數(shù)對(duì)成員 ten和 refi的初始化錯(cuò)誤 。s):student(s)//此為初始化表 , 調(diào)用 //Student的拷貝構(gòu)造函數(shù) { cout構(gòu)造指導(dǎo)教師 \n。 } Student(Student amp。 cout”back in main.\n”。 } }。 返回 51 構(gòu)造函數(shù)與析構(gòu)函數(shù) 【 例 36】 以下定義了三個(gè) Student、 Teacher和 Tourpair,其中 Student類的對(duì)象和 Teacher類的對(duì)象作為了 Tourpair的數(shù)據(jù)成員 , 觀察對(duì)象的構(gòu)造過(guò)程和構(gòu)造函數(shù)被執(zhí)行的順序 。 返回 49 構(gòu)造函數(shù)與析構(gòu)函數(shù) ( 3) 如果一個(gè)類 A的對(duì)象作為另一個(gè)類 B的數(shù)據(jù)成員 , 則在類 B的對(duì)象創(chuàng)建過(guò)程中 , 調(diào)用其構(gòu)造函數(shù)的過(guò)程中 , 數(shù)據(jù)成員 ( 類 A的對(duì)象 ) 會(huì)自動(dòng)調(diào)用類 A的構(gòu)造函數(shù) 。在執(zhí)行時(shí) , 系統(tǒng)會(huì)自動(dòng)調(diào)用類 Example的拷貝構(gòu)造函數(shù)完成對(duì) obj2對(duì)象的構(gòu)造 。 } 返回 46 構(gòu)造函數(shù)與析構(gòu)函數(shù) example(const Example amp。形式參數(shù) ) { 函數(shù)體 } 由此可看出: ( 1) 拷貝構(gòu)造函數(shù)的名
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1