面向?qū)ο蟪绦蛟O(shè)計(C++語言)(第二版)/21世紀高等學校規(guī)劃教材·計算機科學與技術(shù)
定 價:59 元
叢書名:21世紀高等學校規(guī)劃教材計算機科學與技術(shù)
- 作者:程磊,李愛華 著
- 出版時間:2018/11/1
- ISBN:9787302507475
- 出 版 社:清華大學出版社
- 中圖法分類:TP312C++
- 頁碼:358
- 紙張:膠版紙
- 版次:2
- 開本:16開
本書是《面向?qū)ο蟪绦蛟O(shè)計(C++語言)》的第2版,參考了C++11標準的新特性,更新或增加了部分例題與習題,對部分章節(jié)的內(nèi)容做了修改調(diào)整,特別增加了Visual C++環(huán)境下Windows程序開發(fā)的實例,給出了C++11的部分新特性,以便讀者了解和深入學習。
本書基于C++語言詳細地介紹了面向?qū)ο蟮某绦蛟O(shè)計思想,內(nèi)容主要分三大部分共13章。
第一部分是C++語言基礎(chǔ)。重點介紹C++語言的語法、面向?qū)ο蟮幕咎卣、C++程序的開發(fā)過程、基本數(shù)據(jù)類型、函數(shù)、引用、動態(tài)內(nèi)存管理及異常處理等。
第二部分是面向?qū)ο蟮某绦蛟O(shè)計。詳細講述面向?qū)ο蟪绦蛟O(shè)計的基本概念、類與對象的定義和使用、繼承與派生、多態(tài)性、運算符重載、模板、標準模板庫STL、C++的輸入與輸出等。
第三部分是Visual C++環(huán)境下Windows程序開發(fā)概述;赩isual C++2015開發(fā)環(huán)境、面向?qū)ο蟮某绦蛟O(shè)計思想,講解Windows編程初步和應(yīng)用實例的設(shè)計開發(fā)。
本書結(jié)構(gòu)清晰,內(nèi)容講述深入淺出,實例講解精練。同時,每章后面都附有大量的習題。教師可以從清華大學出版社網(wǎng)站www.tup.com.cn下載本書的電子課件和所有例題代碼。
本書既可作為高等學校相關(guān)專業(yè)面向?qū)ο蟪绦蛟O(shè)計C++語言的教材,也可作為軟件開發(fā)技術(shù)人員的參考書。
第2版前言
本書是《面向?qū)ο蟪绦蛟O(shè)計(C++語言)》的第2版,為保持一定的教學連續(xù)性,本書繼續(xù)保留原教材的主要框架及特點,對部分章節(jié)內(nèi)容進行了更新或修改。
1。第2版的變化
通過幾年來的教學實踐積累,根據(jù)作者的授課經(jīng)驗,以及教材使用院校的反饋,在第1版的基礎(chǔ)上,本書做了以下幾個方面的修改。
(1)對章節(jié)內(nèi)容的修改及完善。
在不改變整體知識架構(gòu)的基礎(chǔ)上,對部分章節(jié)的內(nèi)容做了調(diào)整,對章節(jié)內(nèi)容進行深入講解分析,更新或增加了每章的例題與習題。
。2)增加了程序運行結(jié)果的截圖。
對于每章的例題,修改了例題運行結(jié)果的表示形式,給出例題的實際運行結(jié)果截圖,以這種方式呈現(xiàn)程序的運行結(jié)果,強化了運行結(jié)果的直觀性,便于讀者閱讀分析。
。3)特別修改了本書第三部分的內(nèi)容。
特別修改了VisualC++環(huán)境下Windows程序開發(fā)的內(nèi)容,基于本書第一部分和第二部分的學習內(nèi)容,增加了“小球游戲程序”開發(fā)的實例,綜合運用面向?qū)ο蟪绦蛟O(shè)計知識,設(shè)計開發(fā)Windows應(yīng)用程序,使學生在面向?qū)ο蟪绦蛟O(shè)計上再上一個臺階。
。4)更新了Windows平臺的程序開發(fā)環(huán)境。
本書基于目前較主流的VisualC++2015集成開發(fā)環(huán)境,所有程序均基于VisualC++2015集成開發(fā)環(huán)境編譯運行。并給出開發(fā)步驟的截圖說明,讀者可以跟著設(shè)計過程說明,學習應(yīng)用程序的開發(fā)。
。5)增加C++11標準的新特性。
參考了C++標準,為了保持教學的連貫性,本書并沒有全部改到C++11標準上,僅給出了C++11的部分新特性,以便讀者了解和深入學習。
2。本書的主要內(nèi)容
本書內(nèi)容主要分三大部分,首先介紹C++語言的基礎(chǔ),然后重點介紹面向?qū)ο蟮某绦蛟O(shè)計思想,最后講解基于Windows環(huán)境的VC++程序開發(fā),有理論、有實踐,三大部分內(nèi)容循序漸進,逐步提高,這也是本書區(qū)別于同類書的一大亮點。
第一部分是C++語言基礎(chǔ)。重點介紹C++語言的語法、面向?qū)ο蟮幕咎卣、C++程序的開發(fā)過程、基本數(shù)據(jù)類型、函數(shù)、引用、動態(tài)內(nèi)存管理及異常處理等。
第二部分是面向?qū)ο蟮某绦蛟O(shè)計。詳細講述面向?qū)ο蟪绦蛟O(shè)計的基本概念、類與對象的定義和使用、繼承與派生、多態(tài)性、運算符重載、模板、標準模板庫STL、C++的輸入與輸出等。
第三部分是VisualC++環(huán)境下Windows程序開發(fā)概述。包括Windows編程初步和綜合設(shè)計實例。
每章開始以精練的語言扼要說明本章的內(nèi)容要點,本章難點被適當?shù)胤纸庠诟鞴?jié)中。
本書作者長期以來從事面向?qū)ο蟪绦蛟O(shè)計的教學,具有豐富的教學、實踐經(jīng)驗和獨到的見解,這些經(jīng)驗和見解都已融入本書的內(nèi)容中。書中的程序都已在VisualC++2015集成開發(fā)環(huán)境下編譯通過。
3。本書的特色
本書的特色體現(xiàn)在以下4個方面。
。1)內(nèi)容精練、講解深入。參考C++標準的新特性,對龐雜的知識做認真的取舍,結(jié)合作者的教學經(jīng)驗講解,透徹展示重要內(nèi)容。
。2)知識介紹深入淺出、簡明易懂。對C++語言的基本概念、原理和方法的簡述由淺入深,條理分明,循序漸進。以“概念→語法→舉例”的形式進行講解,強調(diào)指出學生常犯的錯誤和容易混淆的概念。
。3)特別強調(diào)實踐環(huán)節(jié)對于程序設(shè)計的重要性。理論與實踐緊密結(jié)合。不僅說明知識點,更重要的是向讀者表明其應(yīng)用方法,注重對知識的應(yīng)用領(lǐng)域和質(zhì)量進行評價,激發(fā)讀者對于程序設(shè)計的興趣,使讀者在短時間內(nèi)掌握“用什么”“怎么用”“用在哪”,進而學會用C++語言進行程序設(shè)計并積累豐富的實踐經(jīng)驗。
。4)講授相關(guān)課程的教師可以從清華大學出版社網(wǎng)站下載本書的電子課件和相關(guān)例程代碼。
4。相關(guān)說明
學生提出的問題,自己的編程實踐和對技術(shù)的思索,特色教學的需要都是促使我們編寫本書的源動力。本書第1~4章由李愛華編寫,第5~8章由程磊編寫,第9~13章由劉海艷編寫。另外,沈紅、鄭浩哲、臧晶和高珊也參與了部分章節(jié)的編寫及程序調(diào)試工作。
本書可以用作48~64學時教學的教材,我們努力從程序員的角度來介紹標準C++語言的基本技術(shù)和精華內(nèi)容,但限于篇幅,有些內(nèi)容無法詳述,如需更深、更詳細的研究時可參考本書在最后給出的參考文獻書目。
本書第1版已被很多院校選做“面向?qū)ο蟪绦蛟O(shè)計”課程的教材,他們在使用過程中給出了非常中肯的建議,在此深表感謝。
本書是作者多年教學實踐的產(chǎn)物,我們希望它能夠引導讀者步入面向?qū)ο蟪绦蛟O(shè)計的輝煌殿堂,也特別希望讀者能夠不吝指出書中的缺點和錯誤,與我們交流,以便將其修改得更加完善。
2018年5月
第一部分C++語言基礎(chǔ)
第1章面向?qū)ο蟪绦蛟O(shè)計概述
1.1面向過程與面向?qū)ο?
1.1.1面向過程的程序設(shè)計
1.1.2面向?qū)ο蟮某绦蛟O(shè)計
1.2面向?qū)ο蟪绦蛟O(shè)計的基本特征
1.2.1新的程序設(shè)計范型
1.2.2面向?qū)ο蟪绦蛟O(shè)計的基本概念
1.2.3面向?qū)ο蟪绦蛟O(shè)計的基本特征
1.3C++語言概述
1.3.1從C到C++
1.3.2C++語言的特點
1.4C++程序及其開發(fā)環(huán)境
1.4.1C++程序的開發(fā)過程
1.4.2Microsoft Visual Studio 2015集成開發(fā)環(huán)境簡介
1.4.3Visual C++控制臺應(yīng)用程序開發(fā)
1.5本章小結(jié)
習題
第2章C++語言基礎(chǔ)
2.1C++語言的基本語法
2.1.1一個簡單的C++程序
2.1.2名字空間
2.1.3標識符命名及規(guī)范
2.2基本數(shù)據(jù)類型、運算符和程序流程控制
2.2.1基本數(shù)據(jù)類型
2.2.2運算符和程序流程控制
2.2.3數(shù)據(jù)類型轉(zhuǎn)換
2.3數(shù)據(jù)的輸入與輸出
2.3.1I/O的書寫格式
2.3.2簡單的I/O格式控制
2.4C++中函數(shù)的新特性
2.4.1函數(shù)的原型
2.4.2默認參數(shù)的函數(shù)
2.4.3內(nèi)聯(lián)函數(shù)
2.4.4函數(shù)重載
2.5引用
2.5.1引用的概念及使用
2.5.2引用作為參數(shù)傳遞
2.5.3引用與指針的區(qū)別
2.5.4引用作為返回類型
2.6動態(tài)內(nèi)存分配
2.6.1動態(tài)內(nèi)存分配與釋放函數(shù)
2.6.2new和delete
2.7異常處理
2.7.1異常處理的機制
2.7.2異常處理的實現(xiàn)
2.8本章小結(jié)
習題
第二部分面向?qū)ο蟮某绦蛟O(shè)計
第3章類和對象(一)
3.1類的構(gòu)成
3.1.1從結(jié)構(gòu)到類
3.1.2類的構(gòu)成
3.1.3類成員的訪問屬性
3.2類的成員函數(shù)
3.3對象的定義與使用
3.3.1類與對象的關(guān)系
3.3.2對象的定義
3.3.3對象中成員的訪問
3.3.4對象賦值語句
3.4構(gòu)造函數(shù)與析構(gòu)函數(shù)
3.4.1構(gòu)造函數(shù)
3.4.2成員初始化表
3.4.3具有默認參數(shù)的構(gòu)造函數(shù)
3.4.4析構(gòu)函數(shù)
3.4.5默認的構(gòu)造函數(shù)和析構(gòu)函數(shù)
3.4.6重載構(gòu)造函數(shù)
3.4.7拷貝構(gòu)造函數(shù)
3.4.8淺拷貝和深拷貝
3.4.9C++11新的類功能
3.5UML
3.5.1UML概述
3.5.2類圖
3.6本章小結(jié)
習題
第4章類和對象(二)
4.1自引用指針this
4.2對象數(shù)組與對象指針
4.2.1對象數(shù)組
4.2.2堆對象
4.2.3對象指針
4.3向函數(shù)傳遞對象
4.3.1使用對象作為函數(shù)參數(shù)
4.3.2使用對象指針作為函數(shù)參數(shù)
4.3.3使用對象引用作為函數(shù)參數(shù)
4.4靜態(tài)成員
4.4.1靜態(tài)數(shù)據(jù)成員
4.4.2靜態(tài)成員函數(shù)
4.5友元
4.5.1友元函數(shù)
4.5.2友元類
4.6對象成員
4.7常對象
4.8本章小結(jié)
習題
第5章繼承與派生
5.1繼承與派生的概念
5.2派生類的聲明
5.3派生類的訪問屬性
5.4派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)
5.4.1派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序
5.4.2派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的構(gòu)造規(guī)則
5.4.3C++11繼承構(gòu)造函數(shù)
5.5多繼承
5.5.1多繼承的聲明
5.5.2多繼承的構(gòu)造函數(shù)與析構(gòu)函數(shù)
5.6基類成員訪問和賦值兼容性
5.6.1基類成員名的限定訪問和名字覆蓋
5.6.2名字覆蓋
5.6.3賦值兼容規(guī)則
5.7虛基類
5.7.1提出問題
5.7.2虛基類的概念
5.7.3虛基類的初始化
5.8本章小結(jié)
習題
第6章虛函數(shù)與多態(tài)性
6.1多態(tài)性概述
6.1.1多態(tài)的類型
6.1.2基類指針指向派生類對象
6.2虛函數(shù)
6.2.1虛函數(shù)的定義格式
6.2.2多繼承與虛函數(shù)
6.2.3虛析構(gòu)函數(shù)
6.3純虛函數(shù)和抽象類
6.3.1純虛函數(shù)
6.3.2抽象類
6.4綜合應(yīng)用舉例
6.5本章小結(jié)
習題
第7章運算符重載
7.1運算符重載的概念
7.2運算符重載的規(guī)則
7.3運算符重載為友元函數(shù)
7.4運算符重載為成員函數(shù)
7.5幾種常用運算符的重載
7.6本章小結(jié)
習題
第8章模板
8.1模板的概念
8.2函數(shù)模板與模板函數(shù)
8.3類模板與模板類
8.4C++11模板新增特性
8.5本章小結(jié)
習題
第9章標準模板庫(STL)
9.1STL概述
9.2容器
9.2.1容器分類與共同操作
9.2.2順序容器
9.2.3關(guān)聯(lián)容器
9.3迭代器
9.3.1迭代器的分類
9.3.2容器類迭代器的基本操作
9.4算法與函數(shù)對象
9.4.1算法的使用形式
9.4.2常用算法舉例
9.4.3函數(shù)對象
9.5STL和C++11
9.6本章小結(jié)
習題
第10章C++的輸入和輸出
10.1C++語言的流類庫及其基本結(jié)構(gòu)
10.2預定義類型的輸入輸出
10.2.1無格式輸入輸出
10.2.2格式化輸入輸出
10.3用戶自定義類型的輸入輸出
10.4文件的輸入輸出
10.4.1通過FILE結(jié)構(gòu)進行文件操作
10.4.2通過文件流進行文件操作
10.5本章小結(jié)
習題
第三部分Visual C++環(huán)境下Windows程序開發(fā)概述
第11章Windows編程初步
11.1一個最簡單的Windows程序
11.2簡單Windows程序的生成步驟
11.3Windows基本程序框架
11.4Windows程序消息處理過程
11.5Windows常用數(shù)據(jù)類型和句柄
11.6Windows程序?qū)崿F(xiàn)繪圖功能
11.7把類與對象引入到Windows程序中
11.8本章小結(jié)
習題
第12章MFC庫和應(yīng)用程序框架
12.1MFC中的常用類
12.2MFC的應(yīng)用程序框架
12.3窗口消息映射與處理函數(shù)
12.4對話框及常用控件
12.4.1對話框的構(gòu)成和分類
12.4.2創(chuàng)建對話框程序
12.4.3添加對話框類
12.4.4運行對話框程序
12.4.5Windows常用控件
12.5文檔和視圖
12.5.1文檔和視圖的關(guān)系
12.5.2文檔和視圖類常用的成員函數(shù)
12.6文檔和視圖程序?qū)嵗?
12.7本章小結(jié)
習題
第13章綜合設(shè)計實例——簡單繪圖程序
13.1功能需求
13.2分析與設(shè)計
13.2.1圖形元素的類邏輯設(shè)計
13.2.2圖元的存儲管理
13.2.3圖元的繪制操作
13.3程序?qū)崿F(xiàn)
13.3.1建立SDI應(yīng)用程序框架
13.3.2建立菜單和工具條
13.3.3添加圖形元素類
13.3.4框架類的實現(xiàn)
13.3.5文檔類的實現(xiàn)
13.3.6視圖類的實現(xiàn)
13.4程序運行結(jié)果
13.5本章小結(jié)
習題
參考文獻