C++ 課件 第4章_第1頁
C++ 課件 第4章_第2頁
C++ 課件 第4章_第3頁
C++ 課件 第4章_第4頁
C++ 課件 第4章_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第4章 函數(shù)和作用域,4. 1 函數(shù)的定義和說明 1. 函數(shù)的定義格式 類型函數(shù)名(參數(shù)表) 函數(shù)體 C+程序中函數(shù)的類型不可省略。,例如, void noting( ) 2. 函數(shù)的說明 一個(gè)函數(shù)先調(diào)用而后定義時(shí),調(diào)用前必須說明。 說明函數(shù)的方法如下: 類型函數(shù)名(參數(shù)個(gè)數(shù)和類型) C+程序中函數(shù)說明一律采用原理說明。,4. 2 函數(shù)的調(diào)用 1. 函數(shù)的傳值調(diào)用 該調(diào)用(同C語言)又分如下兩種。 (1) 傳值調(diào)用 實(shí)參用表達(dá)式,形參用變量名,實(shí)參將復(fù)制副本形參。在被調(diào)用函數(shù)中形參的改變將不影響調(diào)用函數(shù)的實(shí)參。 (2) 傳址調(diào)用 實(shí)參用地址值,形參用指針,調(diào)用時(shí)將地址值傳送給指針,即讓指針指向

2、實(shí)參變量或?qū)ο?。被調(diào)用函數(shù)中可以通過改變形參所指向的值來改變實(shí)參。,2. 引用調(diào)用 引用調(diào)用時(shí),實(shí)參用變量名或?qū)ο竺?,形參用變量或?qū)ο蟮囊?。?shí)際傳送的是地址值。在被調(diào)用函數(shù)中改變形參值,則調(diào)用函數(shù)中實(shí)參值也被改變。引用調(diào)用具有傳址調(diào)用的特點(diǎn),而在操作中又比傳址調(diào)用方便、直觀。因此,在C+程序中多用引用調(diào)用。 參見例4. 3、例4. 4和例4. 5。,4.3 函數(shù)參數(shù) 1. 函數(shù)參數(shù)的求值順序 應(yīng)注意不同編譯系統(tǒng)中,函數(shù)參數(shù)求值的順序可能不同。因此,在不同編譯系統(tǒng)下,當(dāng)實(shí)參表達(dá)式中出現(xiàn)有副作用的運(yùn)算符時(shí),可能產(chǎn)生二義性。 2. 設(shè)置函數(shù)參數(shù)的默認(rèn)值 C+語言中,允許在定義或說明函數(shù)時(shí)設(shè)置函數(shù)形

3、參的默認(rèn)值。,具體規(guī)則如下: 設(shè)置參數(shù)默認(rèn)值時(shí),要求從右向左設(shè)置 調(diào)用設(shè)置了默認(rèn)參數(shù)的函數(shù)時(shí),對應(yīng)實(shí)參如果沒有,則用默認(rèn)值,如果存在,則用實(shí)參值 如果一個(gè)函數(shù)有說明出現(xiàn)時(shí),設(shè)置參數(shù)默認(rèn)值應(yīng)放在函數(shù)說明中 參見例4.7、例4.8。 3. 數(shù)組名可作為函數(shù)參數(shù) 參見例4.11。,4.4 內(nèi)聯(lián)函數(shù) 1. 引進(jìn)內(nèi)聯(lián)函數(shù)的目的是為了提高函數(shù)的執(zhí)行效果。 2. 內(nèi)聯(lián)函數(shù)的定義方法 在函數(shù)頭前加關(guān)鍵字inline,則該函數(shù)為內(nèi)聯(lián)函數(shù)。 參見例4.12。 3. 使用內(nèi)聯(lián)函數(shù)應(yīng)注意的事項(xiàng) 通常情況下是將一些函數(shù)體不大使用頻繁的函數(shù)定義為內(nèi)聯(lián)函數(shù)。 使用內(nèi)聯(lián)函數(shù)時(shí)應(yīng)注意: 內(nèi)聯(lián)函數(shù)體內(nèi)不允許用循環(huán)語句和開關(guān)語句

4、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在第一次調(diào)用之前 類體內(nèi)定義的所有成員函數(shù)都是內(nèi)聯(lián)函數(shù),4.5 函數(shù)重載 1. 什么是函數(shù)重載 函數(shù)重載是指同一個(gè)函數(shù)名對應(yīng)著多個(gè)不同的實(shí)現(xiàn)。 2. 定義重載函數(shù)時(shí)應(yīng)注意什么 多個(gè)重載的同名函數(shù)在定義時(shí)要注意它們的參數(shù)的不同,主要是參數(shù)個(gè)數(shù)不同、參數(shù)類型不同和參數(shù)順序不同。 在選擇重載函數(shù)的不同實(shí)現(xiàn)時(shí),主要根據(jù)參數(shù)不同進(jìn)行選擇。 參見例4.13、例4.14。,4.6 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 1. 函數(shù)的嵌套調(diào)用 參見例4.15。 2. 函數(shù)的遞歸調(diào)用 (1) 遞歸調(diào)用的特點(diǎn) (2) 遞歸調(diào)用的執(zhí)行過程 參見例4.16。,4.7 存儲類 1. 變量的存儲類 (1) 變量存儲類的種類 自動類 寄存器類 外部類 靜態(tài)類(內(nèi)部靜態(tài)和外部靜態(tài)),(2) 不同存儲類變量的作用域和壽命 作用域分為程序級、文件級、函數(shù)級和分程序級 壽命分為長和短兩種。存放在內(nèi)存的靜態(tài)區(qū)的壽命長,存放在寄存器和內(nèi)存的動態(tài)區(qū)的壽命短。 (3) 不同存儲類變量的定義方法 (4) 自動類、內(nèi)部靜態(tài)類和外部類的特點(diǎn) 參見例4.20、例4.21。,2. 函數(shù)的存儲類 (1) 函數(shù)存儲類的種類 函數(shù)存儲類分兩種: 內(nèi)部函數(shù)和外部函數(shù)。 (2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論