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

正文內(nèi)容

第四章利用函數(shù)實(shí)現(xiàn)指定功能-閱讀頁

2025-01-08 16:09本頁面
  

【正文】 3,5)endl。 } 不同的參數(shù)個(gè)數(shù) 在使用重載函數(shù)時(shí) ,同名函數(shù)的功能應(yīng)當(dāng)相同或相近 ,不要用同一函數(shù)名去實(shí)現(xiàn)完全不相干的功能。 if(ca) a=c。 } 類型參數(shù)可以不只一個(gè) ,可以根據(jù)需要確定個(gè)數(shù) ? 如 template classT1,typename T2 注意: 函數(shù)模板只適用于函數(shù)的參數(shù)個(gè)數(shù)相同而類型不同 ,且函數(shù)體相同的情況 ,如果參數(shù)的個(gè)數(shù)不同 ,則不能用函數(shù)模板 ? 具有缺省參數(shù)值和參數(shù)個(gè)數(shù)可變的函數(shù) 在 C++中定義函數(shù)時(shí),如果函數(shù)反復(fù)被調(diào)用,而 每次調(diào)用時(shí)某一參數(shù)值都固定 ,則可以給該參數(shù)指定默認(rèn)值。 有默認(rèn)參數(shù)的函數(shù) int fac(int n=2) { int t=1。i=n。 return t。 } 輸出: 720 c( ) 輸出: 2 舉例 include iostream using namespace std。 //聲明時(shí)指定默認(rèn)值 f()。 return 0。 } ? 函數(shù)有聲明時(shí),默認(rèn)參數(shù)應(yīng)在聲明中指定 (在定義中指定非法或不起作用 ) 使用具有缺省參數(shù)的函數(shù)時(shí),應(yīng)注意以下幾點(diǎn): ? 沒有聲明時(shí),可以在定義時(shí)指定默認(rèn)值 include iostream using namespace std。 } int main() { f()。 return 0。 //正確 ? void f(int i=1,int j,int k=3)。 //f(6,2,3)。 //f(6,7,3)。 //f(6,7,8)。 //錯(cuò)誤調(diào)用! int area(int long=4 , int width=2) { return long* width。 cout area(a,b) endl。 cout area( ) endl。 例如: int a=1; int fun(int); int g(int x; fun(a)); //OK, 允許默認(rèn)值為函數(shù) ? 默認(rèn)值不可以是局部變量,因?yàn)槟J(rèn)參數(shù)的函數(shù)調(diào)用是在編譯時(shí)確定的,而局部變量的位置與值在編譯時(shí)均無法確定。 void g(int x=i)。 } 高級(jí)語言編譯過程 源程序 (文本文件) *.CPP 目標(biāo)文件 (二進(jìn)制文件 ) *.OBJ 可執(zhí)行文件 (二進(jìn)制文件) *.EXE 庫文件 (各種函數(shù)) 編譯 連接 編譯預(yù)處理 C語言提供的編譯預(yù)處理的功能有以下三種: 宏定義 文件包含 條件編譯 編譯預(yù)處理 一、宏定義 不帶參數(shù)的宏定義 用一個(gè)指定的標(biāo)識(shí)符(即名字)來代表一個(gè)字符串,以后凡在程序中碰到這個(gè)標(biāo)識(shí)符的地方都用字符串來代替 。 define 標(biāo)識(shí)符 字符串 define PRICE 30 void main(void) { int num, total。 /*變量賦值 */ total=num*PRICE。 } 編譯前用 30替代 編譯程序?qū)⒑甓x的內(nèi)容認(rèn)為是 字符串 ,沒有任何實(shí)際的物理意義。 可以用 undef命令終止宏定義的作用域。 在進(jìn)行宏定義中,可以用已定義的宏名,進(jìn)行層層置換。 } 不置換 不置換 層層置換 層層置換 帶參數(shù)的宏定義 define 宏名 (參數(shù)表 ) 字符串 define S(a, b) a*b .... float x, y,area。 area=S(x, y)。 */ 形式參數(shù) 實(shí)際參數(shù) 宏定義 宏調(diào)用 定義的宏 實(shí)參代入后還原 define PI define S(r) PI*r*r void main(void) { float a, area, b。 b=。 cout“ r=“ a“ \narea=” areaendl。 a=1。 area=S(a+b)。 } S(r) PI*r*r S(a+b) PI*a+b*a+b 編譯前機(jī)械替換,實(shí)參形參一一對(duì)應(yīng) 宏展開時(shí)實(shí)參不運(yùn)算,不作語法檢查 define S(r) PI*(r)*(r) S(a+b) PI*(a+b)*(a+b) 錯(cuò)誤 定義宏時(shí)在宏名與帶參數(shù)的括弧間不能有空格。 include “文件名” p B A include “ ” A B 注意: 文件名是 C的源文件名,是文本文件,后綴名可以任選。 文件名用雙引號(hào)或尖括號(hào)括起來。 三、條件編譯 C語言允許有選擇地對(duì)程序的某一部分進(jìn)行編譯。 源程序 可以將部分源程序不 轉(zhuǎn)換為機(jī)器碼 條件編譯有以下幾種形式: ifdef 標(biāo)識(shí)符 程序段 1 else 程序段 2 end if 當(dāng)標(biāo)識(shí)符已被定義過(用 define定義 ),則對(duì)程序段 1進(jìn)行編譯,否則編譯程序段 2. define DEBUG ...... ifdef DEBUG coutx‘ \t’ yendl。 define DEBUG ...... ifndef DEBUG coutx‘ \t’ yendl。 if 表達(dá)式 程序段 1 else 程序段 2 endif 當(dāng)表達(dá)式為真 (非零 ),編譯程序段 1,表達(dá)式為零,編譯程序段 2。 endif 調(diào)試完后改為 define DEBUG 0,則不輸出調(diào)試信息。 以下程序的運(yùn)行結(jié)果是: define DEBUG void main(void) { int a=14, b=15, c。 ifdef DEBUG cout“ a=“ octa“ b=“ bendl。 } 輸出: a=16, b=17c=0 內(nèi)部函數(shù)和外部函數(shù) 內(nèi)部函數(shù):函數(shù)只限于在本文件中調(diào)用,其它文件不能調(diào)用,用 static 定義該函數(shù)。調(diào)用時(shí),在文件中用 extern 說明。 char str[80]。 .......... } 說明外部函數(shù) 謝謝觀看 /歡迎下載 BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES. BY FAITH I BY FAITH
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1