出版時間:2010-8 出版社:清華大學(xué)出版社 作者:董正言,張聰 主編 頁數(shù):287
前言
面向?qū)ο蟪绦蛟O(shè)計(00P)技術(shù)是當(dāng)前主流的程序設(shè)計技術(shù)。和傳統(tǒng)的面向過程的程序設(shè)計技術(shù)相比,面向?qū)ο蟪绦蛟O(shè)計技術(shù)具有明顯的優(yōu)勢。這種優(yōu)勢主要體現(xiàn)在以下幾個方面: (1)傳統(tǒng)的面向過程的程序設(shè)計方法忽略了數(shù)據(jù)和操作之間的內(nèi)在聯(lián)系,程序中的數(shù)據(jù)和操作它們的方法分離,而面向?qū)ο蟪绦蛟O(shè)計技術(shù)將程序要處理的數(shù)據(jù)和處理它們的方法封裝在一起,構(gòu)成一個統(tǒng)一體——對象。程序中用對象模型來建?,F(xiàn)實世界中的事物。這樣就使得空間模型的結(jié)構(gòu)和問題空間模型的結(jié)構(gòu)相一致。使用面向?qū)ο蟮姆椒ń鉀Q問題的思路更加符合人類一貫的思維方法?! 。?)面向?qū)ο蟮姆庋b技術(shù)為程序提供了更好的數(shù)據(jù)安全性。 ?。?)面向?qū)ο蟮睦^承技術(shù)為程序提供了更好的可重用性。 ?。?)面向?qū)ο蟮亩鄳B(tài)調(diào)用技術(shù)使程序具有更好的可擴(kuò)展性。 ?。?)和傳統(tǒng)的面向過程的程序設(shè)計方法相比,面向?qū)ο蟮某绦蛟O(shè)計技術(shù)更適合開發(fā)大型的圖形界面應(yīng)用程序?! ∧壳?,常用的面向?qū)ο蟮木幊陶Z言有C++、Java、C#等?! ++語言是由C語言發(fā)展演變成的一種面向?qū)ο蟮某绦蛟O(shè)計語言。它既具備C語言面向過程設(shè)計方法的特點,同時又支持面向?qū)ο蟮某绦蛟O(shè)計方法。它是目前程序員使用最多的編程語言之一?! ”緯訡++語言為基礎(chǔ),闡述面向?qū)ο蟮木幊淘?。本書的特色是?nèi)容全面、語言簡潔易懂、重點突出,是一部面向大學(xué)本科計算機(jī)科學(xué)相關(guān)專業(yè)的入門教材?! 榱耸棺x者能夠透徹理解面向?qū)ο缶幊痰脑砗头椒?,本書使用了大量自編的例程。全部例程的源代碼均使用visual C++6.O編寫,并編譯通過?! ”緯啥灾骶?,張聰、劉文濤、阮靈等老師也參加了部分章節(jié)的編寫工作?! ∮捎趯W(xué)識水平和時間的限制,疏漏和不妥之處在所難免,敬請批評指正。
內(nèi)容概要
本書以面向?qū)ο蟪绦蛟O(shè)計技術(shù)的本質(zhì)屬性為主線,以C++語言為基礎(chǔ),全面地闡述了面向?qū)ο蟪绦蛟O(shè)計的基本原理。全書共分13章,前5章介紹C++語言的基本編程技術(shù),包括C++的數(shù)據(jù)類型、常用的運(yùn)算符、結(jié)構(gòu)化控制語句和函數(shù); 第6章~第9章介紹面向?qū)ο蟪绦蛟O(shè)計方法的核心內(nèi)容,包括類和對象、類的繼承和多態(tài); 第10章介紹C++的程序結(jié)構(gòu)、編譯預(yù)處理指令和命名空間等內(nèi)容; 第11章介紹C++語言標(biāo)準(zhǔn)庫中的輸入/輸出流類; 第12章以C++語言為基礎(chǔ),介紹面向?qū)ο蟮漠惓L幚頇C(jī)制; 第13章簡要介紹使用C++語言和面向?qū)ο蟮某绦蛟O(shè)計方法設(shè)計Windows應(yīng)用程序的方法。 本書語言簡潔流暢,通俗易懂,內(nèi)容全面,重點突出,對核心和重點內(nèi)容都佐以大量的例證。 本書既可以作為高等院校計算機(jī)科學(xué)與技術(shù)及相關(guān)專業(yè)“面向?qū)ο蟪绦蛟O(shè)計”課程的授課教材,也可以作為C++程序開發(fā)人員的參考書。
書籍目錄
第1章 緒論 1.1 編程語言的發(fā)展 1.2 C++語言簡介 1.3 面向?qū)ο蟮某绦蛟O(shè)計方法 1.4 第一個C++程序 1.5 小結(jié) 習(xí)題第2章 基本數(shù)據(jù)類型和運(yùn)算符 2.1 基本概念 2.1.1 程序?qū)嵗? 2.1.2 C++字符集 2.1.3 C++關(guān)鍵字 2.1.4 標(biāo)識符 2.1.5 程序注釋 2.2 基本數(shù)據(jù)類型 2.2.1 整數(shù)類型 2.2.2 浮點類型 2.2.3 字符類型 2.2.4 布爾類型 2.3 變量和常量 2.3.1 變量 2.3.2 常量 2.4 簡單的輸入和輸出 2.5 C++運(yùn)算符和表達(dá)式 2.5.1 賦值運(yùn)算符和賦值表達(dá)式 2.5.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 2.5.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 2.5.4 邏輯運(yùn)算符和邏輯表達(dá)式 2.5.5 位運(yùn)算符 2.5.6 逗號運(yùn)算符和逗號表達(dá)式 2.5.7 條件運(yùn)算符和條件表達(dá)式 2.5.8 sizeof運(yùn)算符 2.5.9 其他運(yùn)算符 2.6 數(shù)據(jù)類型轉(zhuǎn)換 2.7 小結(jié) 習(xí)題第3章 控制語句 3.1 選擇結(jié)構(gòu) 3.1.1 if?else選擇語句 3.1.2 嵌套的if?else語句 3.1.3 if?else if 語句 3.1.4 switch語句 3.2 循環(huán)結(jié)構(gòu) 3.2.1 while循環(huán)語句 3.2.2 do?while循環(huán)語句 3.2.3 for循環(huán)語句 3.2.4 嵌套的循環(huán)語句 3.3 其他流控制語句 3.3.1 break語句和continue語句 3.3.2 goto語句 3.4 小結(jié) 習(xí)題第4章 復(fù)合數(shù)據(jù)類型 4.1 數(shù)組 4.1.1 數(shù)組的定義和初始化 4.1.2 使用數(shù)組 4.1.3 字符數(shù)組和字符串 4.2 指針和引用 4.2.1 定義和使用指針 4.2.2 指針和數(shù)組 4.2.3 數(shù)組指針和指針數(shù)組 4.2.4 使用操作符new和delete進(jìn)行動態(tài)存儲分配 4.2.5 引用的定義和使用 4.3 枚舉和結(jié)構(gòu) 4.3.1 枚舉 4.3.2 結(jié)構(gòu) 4.4 小結(jié) 習(xí)題第5章 函數(shù) 5.1 定義和調(diào)用函數(shù) 5.1.1 函數(shù)的定義 5.1.2 函數(shù)的調(diào)用 5.1.3 函數(shù)原型 5.2 傳遞參數(shù) 5.2.1 傳值傳遞 5.2.2 引用傳遞 5.3 局部變量和全局變量 5.4 函數(shù)調(diào)用的實現(xiàn) 5.5 內(nèi)聯(lián)函數(shù) 5.6 遞歸函數(shù) 5.7 參數(shù)的默認(rèn)值 5.8 指針函數(shù)和函數(shù)指針 5.8.1 指針函數(shù) 5.8.2 函數(shù)指針 5.9 函數(shù)重載 5.1 0函數(shù)模板 5.1 1小結(jié) 習(xí)題第6章 類和對象(上) 6.1 面向?qū)ο蟪绦蛟O(shè)計概述 6.2 創(chuàng)建類 6.2.1 定義類 6.2.2 類的實現(xiàn) 6.3 創(chuàng)建和使用對象 6.4 類成員的訪問控制 6.4.1 類的公有成員 6.4.2 類的私有成員 6.4.3 類的保護(hù)成員 6.5 內(nèi)聯(lián)的成員函數(shù) 6.6 構(gòu)造函數(shù) 6.6.1 定義類的構(gòu)造函數(shù) 6.6.2 默認(rèn)的構(gòu)造函數(shù) 6.6.3 帶默認(rèn)參數(shù)值的構(gòu)造函數(shù) 6.7 拷貝構(gòu)造函數(shù) 6.7.1 定義類的拷貝構(gòu)造函數(shù) 6.7.2 默認(rèn)的拷貝構(gòu)造函數(shù)與對象的淺拷貝問題 6.8 析構(gòu)函數(shù) 6.9 小結(jié) 習(xí)題第7章 類和對象(下) 7.1 類的靜態(tài)成員 7.1.1 靜態(tài)數(shù)據(jù)成員 7.1.2 靜態(tài)函數(shù)成員 7.2 對象指針 7.3 動態(tài)創(chuàng)建 7.3.1 動態(tài)創(chuàng)建對象 7.3.2 動態(tài)創(chuàng)建對象數(shù)組 7.4 類作用域 7.4.1 類成員具有類作用域 7.4.2 具有類作用域的數(shù)據(jù)成員被局部變量屏蔽 7.5 this指針 7.6 類的組合 7.7 常對象和類的常成員 7.7.1 常對象 7.7.2 常數(shù)據(jù)成員 7.7.3 const成員函數(shù) 7.8 類模板 7.9 友元 7.9.1 友元函數(shù) 7.9.2 友元類 7.1 0string類 7.1 0.1 構(gòu)造字符串 7.1 0.2 常用的字符串操作 7.1 1小結(jié) 習(xí)題第8章 類的繼承 8.1 基類和派生類 8.2 定義派生類 8.3 繼承方式與訪問權(quán)限 8.4 構(gòu)造派生類對象 8.4.1 派生類對象的結(jié)構(gòu) 8.4.2 派生類的構(gòu)造函數(shù) 8.5 成員覆蓋 8.6 實例學(xué)習(xí)——圖形類家族 8.7 多重繼承 8.7.1 多重繼承簡介 8.7.2 多重繼承引發(fā)的二義性問題 8.8 虛基類 8.9 對象類型轉(zhuǎn)換 8.1 0小結(jié) 習(xí)題第9章 多態(tài) 9.1 什么是多態(tài) 9.2 虛函數(shù)和動態(tài)綁定 9.3 純虛函數(shù)和抽象類 9.4 編譯期多態(tài)——運(yùn)算符重載 9.4.1 什么是運(yùn)算符重載 9.4.2 用類的成員函數(shù)實現(xiàn)運(yùn)算符重載 9.4.3 用類的友元函數(shù)實現(xiàn)運(yùn)算符重載 9.4.4 重載賦值運(yùn)算符= 9.5 運(yùn)行時類型識別(RTTI) 9.5.1 dynamic_cast操作符 9.5.2 typeid操作符和type_info類 9.6 小結(jié) 習(xí)題第10章 程序結(jié)構(gòu)、預(yù)處理和命名空間 10.1 多文件結(jié)構(gòu)的源程序 10.2 文件間的信息共享 10.2.1 頭文件 10.2.2 關(guān)鍵字extern 10.2.3 使用關(guān)鍵字static避免同名沖突 10.2.4 函數(shù)的聲明 10.2.5 類的聲明 10.3 預(yù)處理 10.3.1 #include指令 10.3.2 #define指令 10.3.3 條件預(yù)處理指令 10.3.4 使用條件預(yù)處理指令避免重復(fù)包含 10.4 命名空間 10.5 小結(jié) 習(xí)題第11章 輸入和輸出 11.1 什么是輸入/輸出流 11.2 輸入/輸出流類 11.2.1 預(yù)定義的流對象 11.2.2 插入運(yùn)算符和提取運(yùn)算符 11.2.3 格式化標(biāo)志和設(shè)置格式化標(biāo)志的函數(shù) 11.2.4 I/O格式操作符 11.2.5 控制輸入/輸出格式的函數(shù) 11.2.6 常用的I/O函數(shù) 11.3 磁盤文件的輸入/輸出 11.3.1 打開文件 11.3.2 數(shù)據(jù)的存儲格式和文件的打開模式 11.3.3 文件輸入/輸出 11.3.4 文件指針 11.4 小結(jié) 習(xí)題第12章 異常處理 12.1 拋出異常 12.2 捕獲和處理異常 12.3 異常的傳遞途徑 12.4 異常類 12.5 小結(jié) 習(xí)題第13章 Windows編程基礎(chǔ) 13.1 事件驅(qū)動機(jī)制和Windows SDK編程 13.2 MFC 13.2.1 一個簡單的MFC應(yīng)用程序 13.2.2 MFC簡介 13.2.3 MFC程序結(jié)構(gòu)分析 13.3 消息映射機(jī)制 13.3.1 Windows消息 13.3.2 MFC消息映射機(jī)制 13.4 Windows程序?qū)嵗? 13.5 小結(jié) 習(xí)題附錄A參考文獻(xiàn)
章節(jié)摘錄
在上面的語句中,定義變量b的同時,就給它賦了初值,這叫做變量初始化?! ∪缟纤?,每個變量都有數(shù)據(jù)類型。例如,例2.1 程序中的變量是整數(shù)類型(int)。 變量的值存放在存儲器中。根據(jù)存儲地點的不同,變量分為不同的存儲類型。C++變量的存儲類型分自動型和持續(xù)型兩大類?! ∽詣有妥兞康奶攸c是:變量的存儲空間在程序運(yùn)行時被自動分配。當(dāng)包含該變量的函數(shù)開始運(yùn)行時,系統(tǒng)自動為該變量分配存儲空間;當(dāng)包含該變量的函數(shù)模塊運(yùn)行結(jié)束時,其存儲空間被系統(tǒng)回收,該變量隨之被自動銷毀。自動型變量包括以下兩種?! uto型:這種類型的變量被存放在稱為“棧”的內(nèi)存空間中。定義這種變量時,關(guān)鍵字auto可以省略;程序中在函數(shù)或模塊內(nèi)部聲明的變量,如果不做其他聲明,它們都屬于這種存儲類型的變量。例如,例2.1 程序中的變量?! egister型:稱為寄存器型變量。這種類型的變量被直接存放在計算機(jī)中央處理器(CPU)的寄存器中,特點是變量的訪問速度較快。定義寄存器變量時,要使用關(guān)鍵字register。例如,registerinti。持續(xù)性變量的特點是:變量從被定義時開始,系統(tǒng)為其分配存儲空間;在程序的個運(yùn)行過程中一直存在,直到程序運(yùn)行結(jié)束才被銷毀。持續(xù)型變量包括以下兩種?! ∪肿兞浚菏浅绦蛑性谌魏魏瘮?shù)之外聲明的變量。存放在程序的靜態(tài)存儲區(qū)中。程序開始執(zhí)行時,系統(tǒng)給全局變量分配存儲空間,程序執(zhí)行完畢并釋放存儲空間。在程序執(zhí)行期間,全局變量占據(jù)固定的存儲單元,而不是由系統(tǒng)動態(tài)分配。例如,例2.1 程序中的變量j就是一個全局變量。
編輯推薦
教學(xué)目標(biāo)明確,注重理論與實踐的結(jié)合,教學(xué)方法靈活,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力,教學(xué)內(nèi)容先進(jìn),反映了計算機(jī)學(xué)科的最新發(fā)展,教學(xué)模式完善,提供配套的教學(xué)資源解決方案。
圖書封面
評論、評分、閱讀與下載