下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、7 章 類與對象7 . 1 類和對象(定義及使用)初步7.2成員函數的重載7.3 對象的初始化、構造函數與析構函數74類的定義及其使用7. 5類的靜態(tài)成員及常量成員7.6友元77類之間的對象關系 對象成員和嵌套7. 71 對象成員對象成員 :定義一個新類時,把一個已定義類的對象作為該類的成員,稱為對象成員。對于含有對象成員的對象,在對該對象進行初始化之前,首先要對該對象中對象成員進行初始化, 這要通過調用對象成員的構造函數來實現。 當類中含有對象成員時 ,通常采用 “初 始化成員列表”的方法向對象成員的構造函數傳遞實參。初始化成員列表的一般格式 :類名(參數表 0) : c 1 (參數表1),
2、c 2(參數表2 ), c3(參數表3) c n(參數表 n ) - - - /構造函數體1 、冒號后面的部分成為初始化成員列表 ;2、c 1、-、c n即可以為對象成員名,也可以為基本數據類型的成員數據。1 )當 c1、- 、 cn 為對象成員時 ,其后的參數表為向對象成員所在類的構造函數所提供 的參數 (實參) ,這些參數 (實參 )是由 參數表 0中的參數與其他常量或有確定值的變量一起 組成的表達式。女口:在對對象成員c k進行初始化時,根據 參數表k中的參數的個數和類型確定所要 調用的構造函數版本。如果某個對象成員沒有出現在初始化成員列表中,則初始化該成員時,調用其所在類中的具有默認參
3、數的構造函數。2)當cl、cn為基本數據類型的成員時,則其后的 參數表 為該成員的初始值。但如果在構造函數體中又對該成員數據設置初始值,則構造函數體中的值為最終值。注意:只能使用初始化成員列表的方法初始化 co nst成員數據,如果改用構造函數將出錯。3)類中定義的對象成員與在類外的定義對象不同,后者意味著對象創(chuàng)建;類中的對象成 員說明并不直接與對象的創(chuàng)建和初始化相聯(lián)系 ,要等所在的類的對象被創(chuàng)建時(通過構造函 數)一同被創(chuàng)建。3對對象成員初始化的順序取決于這些對象成員在類中說明的順序,即先說明先調用,與它們在成員化列表中的順序無關。4在創(chuàng)建具有對象成員的類的對象時 ,先按對象成員的先后次序調
4、用各個對象成員的構造函數 ,然后才調用這個類本身的構造函數。5 析構函數的調用順序與構造函數相反。7.7 .2對象成員舉例例1:分析程序的輸出結果# i n cl u de c l a ss A in t x ,y ;publi c:A ( ) A( i nt a ,int b) x=a ; y=b ;cou tv 調用類 A 的構造函數!” e ndl ; v o i d s how () cou t x= vx 、tvy = ”vv y n ; A( ) c ou t 調用類A析構函數! “ ve nd 1 ;cla ss B int Length , widt h ;p ublic :B
5、( ) B( int a , i nt b) L en gth = a ; Wid t h = b ; c ou t 調用了類 B 的構造函數!v e n dl ; v oi d sh ow () c ou t L ength=”v L engt h w i d th=Wid t h n B ( ) co ut 調用類B的析構函數!n “ ;class C in t r , H ig h ;A al ;/ DB b1 ;/Ep ublic :C(i nt a , i n t b , in t c ,in t d ) : a1 (c, d) , b 1(50 0,6 0 0)/F r=a ; H
6、igh=b ;cout 調用了類 C 的構造函數 !vend1 ;voi d sho w ( )cout v X= r vH ig h= v Hig hv n;a 1. sh ow ( ) ;/注意:a1 . show必須是公有成員函數,若是私有的,則錯誤。b1 .sh ow( ) ;/同理 c ( ) cout 調用類C的析構函數!n “ ;v oi d main ( vo id ) C c1(1 00 ,200 , 300 ,400) ;/Gcl .show ();運行該程序 ,輸出結果為: 調用了類 A 的構造函數 調用了類 B 的構造函數! 調用了類 C 的構造函數r=10 0 Hig
7、h =2 0 0x=300 y= 40 0Length= 5 00 widt h = 6 0 0調用 C 的析構函數! 調用 B 的析構函數 !調用A的析構函數!例 2 利用成員函數設置對象成員中的成員數據# in c lud e c la ss C Ar ea int x ,y ;pu bli c:void se t (in t i , int j ) x = i ; y=j ; int ge t ( ) return x* y ;class V o l um e i nt high ;C Area sl ;pu bl ic :voi d se t ( i nt i , int j , in t k ) hi ght = k ;s1.set (i , j );/通過成員 s1 中的公有成員函數設置 s1 中的成員數據/注意: s1se t ( i , j )必須公有的。i n t get () return hi g h* s1.get ( ) ; void prin t ( ) cout 該面積=v s1.get( )endl ;c out 該體積=“ v get () e ndl ;;v o i d ma in (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科技學院《國際商務談判實訓》2023-2024學年第一學期期末試卷
- 廣東建設職業(yè)技術學院《水文學實驗》2023-2024學年第一學期期末試卷
- 廣東環(huán)境保護工程職業(yè)學院《中藥資源學》2023-2024學年第一學期期末試卷
- 廣東行政職業(yè)學院《化工節(jié)能原理與技術》2023-2024學年第一學期期末試卷
- 廣東東軟學院《審計與認證業(yè)務(ACCA)》2023-2024學年第一學期期末試卷
- 廣東創(chuàng)新科技職業(yè)學院《商務英語聽力(三)》2023-2024學年第一學期期末試卷
- 廣東工程職業(yè)技術學院《系統(tǒng)工程學》2023-2024學年第一學期期末試卷
- 公益崗培訓內容
- 廣東財經大學《機器人與人工智能導論》2023-2024學年第一學期期末試卷
- 培訓課件教學
- 最好用高速公路機電維修手冊
- 家庭管理量表(FaMM)
- 土默特右旗高源礦業(yè)有限責任公司高源煤礦2022年度礦山地質環(huán)境年度治理計劃
- 【金屬非金屬礦山(地下礦山)安全管理人員】考題
- 腰椎間盤突出癥的射頻治療
- 神經外科手術的ERAS管理策略
- mt煤礦用氮氣防滅火技術
- ASTM-B117-16-鹽霧實驗儀的標準操作規(guī)程(中文版)
- 【超星爾雅學習通】《老子》《論語》今讀網課章節(jié)答案
- 配電箱采購技術要求
- 上海外國語大學附屬外國語學校2020-2021七年級下學期期中英語試卷+答案
評論
0/150
提交評論