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

正文內(nèi)容

清華大學(xué)c課件第5章-資料下載頁

2025-10-07 13:37本頁面
  

【正文】 dif if 常量表達(dá)式 //當(dāng)“ 常量表達(dá)式”非零時編譯 程序正文 endif ...... 編譯預(yù)處理命令 C++語言程序設(shè)計 清華大學(xué) 鄭莉 52 條件編譯指令 —— else if 常量表達(dá)式 //當(dāng)“ 常量表達(dá)式”非零時編譯 程序正文 1 else //當(dāng)“ 常量表達(dá)式”為零時編譯 程序正文 2 endif 編譯預(yù)處理命令 C++語言程序設(shè)計 清華大學(xué) 鄭莉 53 條件編譯指令 elif if 常量表達(dá)式 1 程序正文 1 //當(dāng)“ 常量表達(dá)式 1” 非零時編譯 elif 常量表達(dá)式 2 程序正文 2 //當(dāng)“ 常量表達(dá)式 2” 非零時編譯 else 程序正文 3 //其他情況下編譯 endif 編譯預(yù)處理命令 C++語言程序設(shè)計 清華大學(xué) 鄭莉 54 條件編譯指令 ifdef 標(biāo)識符 程序段 1 else 程序段 2 endif 如果“標(biāo)識符”經(jīng) defined定義過,且未經(jīng) undef刪除,則編譯程序段 1,否則編譯程序段 2。 編譯預(yù)處理命令 C++語言程序設(shè)計 清華大學(xué) 鄭莉 55 條件編譯指令 ifndef 標(biāo)識符 程序段 1 else 程序段 2 endif 如果“標(biāo)識符”未被定義過,則編譯程序段 1,否則編譯程序段 2。 編譯預(yù)處理命令 C++語言程序設(shè)計 清華大學(xué) 鄭莉 56 多文件結(jié)構(gòu)(例 510) ?一個源程序可以劃分為多個源文件: – 類聲明文件( .h文件) – 類實(shí)現(xiàn)文件( .cpp文件) – 類的使用文件( main()所在的 .cpp文件 ) ?利用工程來組合各個文件。 C++語言程序設(shè)計 清華大學(xué) 鄭莉 57 不使用條件編譯的頭文件 // include include int main() { ? } // include ? // include ? // ? class Point { ? } ? 多文件結(jié)構(gòu) C++語言程序設(shè)計 清華大學(xué) 鄭莉 58 使用條件編譯的頭文件 // ifndef HEAD_H define HEAD_H ? class Point { ? } ? endif 多文件結(jié)構(gòu) C++語言程序設(shè)計 清華大學(xué) 鄭莉 常成員函數(shù)的聲明原則 ? 適當(dāng)?shù)貙⒊蓡T函數(shù)聲明為常成員函數(shù),能夠提高代碼質(zhì)量。 ? 凡是不會改變對象狀態(tài)的函數(shù),都應(yīng)當(dāng)聲明為常成員函數(shù)。 ? 什么是改變對象狀態(tài)? – 改變對象狀態(tài),不簡單地等同于改變成員數(shù)據(jù)的值。 – 只要一個成員函數(shù)執(zhí)行與否,不會影響以后接口函數(shù)的調(diào)用結(jié)果,都可以認(rèn)為它不會改變對象狀態(tài)。 59 深 度 探 索 C++語言程序設(shè)計 清華大學(xué) 鄭莉 常成員函數(shù)的聲明原則 class Line { //Line類的定義 public: //外部接口 Line(const Point amp。p1, const Point amp。p2) : p1(p1), p2(p2), len(1) { } double getLen()。 private: //私有數(shù)據(jù)成員 Point p1, p2。 //Point類的對象 p1,p2 double len。 }。 double Line::getLen() { if (len 0) { double x = () ()。 double y = () ()。 len = sqrt(x * x + y * y)。 } return len。 } 60 深 度 探 索 改變數(shù)據(jù)成員,但不改變對象狀態(tài) C++語言程序設(shè)計 清華大學(xué) 鄭莉 常成員函數(shù)的聲明原則 ?在原則上,應(yīng)當(dāng)將 getLen聲明為常成員函數(shù),但由于修改了數(shù)據(jù)成員的值,語言規(guī)則不允許 ?怎么辦?使用 mutable關(guān)鍵字 – mutable關(guān)鍵字使得被修飾的成員對象無視“常對象的成員對象被視為常對象”這一語言原則 ? Mutable須慎用 61 深 度 探 索 C++語言程序設(shè)計 清華大學(xué) 鄭莉 代碼的編譯連接與執(zhí)行 ? 編譯:源文件 ?目標(biāo)文件 – 源文件的函數(shù)代碼 ?目標(biāo)文件的代碼段 – 源文件的靜態(tài)對象 ?目標(biāo)文件的數(shù)據(jù)段 ? 分為初始化的數(shù)據(jù)段和未初始化的數(shù)據(jù)段 – 符號表:將靜態(tài)對象與函數(shù)的名字與地址關(guān)聯(lián) – 重定位記錄表:將代碼中需用到的地址與符號表關(guān)聯(lián) ? 連接 – 將各段合并 – 將符號表合并 – 根據(jù)重定位記錄表,確定代碼中用到的全局地址 62 深 度 探 索 C++語言程序設(shè)計 清華大學(xué) 鄭莉 代碼的編譯連接與執(zhí)行 ? 代碼的執(zhí)行 – 操作系統(tǒng)首先將文件從磁盤讀入,初始化各段 ——一些靜態(tài)數(shù)據(jù)就在此時被初始化 – 從引導(dǎo)代碼開始執(zhí)行,引導(dǎo)代碼啟動 main,main返回后,引導(dǎo)代碼會通知操作系統(tǒng)程序結(jié)束 ? 為什么只有靜態(tài)對象需要在目標(biāo)文件中保存信息? – 連接器負(fù)責(zé)為靜態(tài)對象分配唯一地址,而其它對象都是相對尋址 ? 為什么類的信息不存在于目標(biāo)文件中? – 類 的“解構(gòu)” 63 深 度 探 索 C++語言程序設(shè)計 清華大學(xué) 鄭莉 64 小結(jié)與復(fù)習(xí)建議 ? 主要內(nèi)容 – 作用域與可見性、對象的生存期、數(shù)據(jù)的共享與保護(hù)、友元、編譯預(yù)處理命令、多文件結(jié)構(gòu)和工程 ? 達(dá)到的目標(biāo) – 深入理解程序的結(jié)構(gòu)、模塊間的關(guān)系、數(shù)據(jù)共享。 ? 實(shí)驗(yàn)任務(wù) – 實(shí)驗(yàn)五
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1