C++面向對象程序設計(第二版)

-
【作 者】曹靜 主編
【I S B N 】978-7-5084-8125-8
【責任編輯】李炎
【適用讀者群】高職高專
【出版時間】2011-01-21
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第2版第3次印刷
【頁 數】
【千字數】488
【印 張】19.25
【定 價】¥30
【叢 書】高職高專計算機類專業“十二五”規劃教材
【備注信息】教育部高等學校高職高專計算機類專業教學指導委員會優秀教材
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書系統地介紹了面向對象程序設計的概念和C++語言的基礎知識。全書將編程語言和編程思想融為一體,使讀者在一步步學習C++語言的同時,可以一層層掌握面向對象的編程原理。為方便讀者理解C++面向對象程序設計的相關知識,書中采用通俗易懂的方式介紹了有關理論和原理,并輔以大量實例和插圖。每章均配有相關內容的項目設計,便于讀者進行實際操作和練習。
本書內容翔實、敘述清晰、注重實踐、習題豐富,可作為高職高專各專業的計算機入門教材,也適合各領域想在計算機方面進修提高的人員自學使用。
結構合理、有效——章節編寫方式層層展開,環環相套
內容充實、實用——各章重要知識點后面都附有典型的實訓案例
知識點全面,語言嚴謹、精練——結合實例清楚準確地解釋C++中眾多且比較抽象的概念
項目開發與理論教學緊密結合——每章的項目設計都是作為大型軟件項目的一部分出現
本書按照由淺入深的順序,循序漸進地介紹了C++面向對象程序設計的相關知識。在各個章節的重要知識點后面都附有典型的實訓案例和單元練習,最后一章更結合各章的實訓內容給出一個完整的項目。各章的實例都是實用性很強的程序或程序模塊,并且,實例代碼可維護性強,重用率高,真正體現了面向對象程序開發的思想。為方便讀者使用,書中全部實例的源代碼及電子教案均免費提供給讀者使用。
C++語言是由AT&T貝爾實驗室的Bjarne Stroustrup建立的一種功能強大的高級編程語言,是最早被用于商業開發的面向對象編程語言。使用面向對象編程方法后,我們可以高效地開發極為復雜的軟件系統并且可以保證軟件的可靠性和可維護性,同時能提高軟件的重用性、靈活性和擴展性。本書的目標是把C++面向對象程序設計作為大學生學習編程的第一門課程,而且設計成適合所有專業的學生。作者假定他們預先沒有學過任何編程語言,而所用的數學與理科知識也僅限于一年級大學生的水平。
本書是全國示范性軟件職業學院計算機及其相關專業指定教材,針對全國示范性軟件職業學院特點,淡化理論,以夠用為度,強化技能,重在實際操作,以項目設計貫穿全書,再輔以大量實例,讓學生在實踐中掌握C++語言和面向對象的軟件開發方法。
本書是作者在多年的教學實踐和科學研究的基礎上,并參閱了大量國內外相關教材后,幾經修改而成。主要特點如下:
1.知識點全面,語言嚴謹、精練
C++中概念眾多且比較抽象,本書對這些概念進行了清楚準確的解釋并結合實例說明,讓讀者能全面掌握每一個知識點。
2.實際項目開發與理論教學緊密結合
為了使讀者快速掌握C++相關知識的使用方法,本書在各個章節的重要知識點后都附有典型的實訓案例和單元練習,最后一章更結合各章的實訓內容給出一個完整的項目。
3.結構合理、有效
本書按照由淺入深的順序,循序漸進地介紹了C++面向對象程序設計的相關知識。各個章節在編寫的時候都是層層展開,環環相套的。
4.內容充實、實用
本書不再使用傳統教材中那些最多只有數百行,且在實踐中極少使用的示例程序,各章實例都是實用性很強的程序或程序模塊,并且都是作為一個大型軟件項目的一部分出現,實例代碼可維護性強,重用率高,真正體現了面向對象程序開發的思想。
5.本書配有全部的程序源文件和電子教案
為方便讀者使用,本書配有導學、【課堂練習】參考代碼、電子教案和源代碼文件,讀者可以從中國水利水電出版社網站和萬水書苑免費下載,網址為:http://www.waterpub.com.cn/ softdown/和http://www.dgboyong.cn。
本書共計四部分,其中第一部分(包括第1章至第3章)主要介紹C++基本語法概念和程序結構;第二部分(包括第4章至第6章)主要介紹類、類的封裝、繼承和多態等;第三部分(包括第7章至第9章)主要介紹I/O流、模板和異常處理;第四部分(包括第10章)是一個綜合全書內容的實訓項目。
本書由曹靜擔任主編,董寧、陳丹擔任副主編,張宇、張松慧、文凡、劉嵩、劉潔、肖英參加編寫,董寧、陳丹、庫波統編全稿。
讀者朋友在閱讀本書的過程中,如果覺得有疑問或不妥之處,請與編者聯系,幫助我們改正提高,編者將不勝感激。作者E-mail:jingcao_2002@163.com。
編 者
2010年10月
第1章 面向對象程序設計概述 1
1.1 面向對象的基本概念 1
1.2 C++面向對象程序設計 2
1.3 C++程序的基本組成 3
1.4 Microsoft Visual Studio 2008開發環境 6
【實訓1】簡單C++程序實例 11
本章小結 12
習題 12
第2章 C++語言基礎 13
2.1 數據類型和基本輸入輸出 13
2.1.1 基本數據類型 13
2.1.2 常量 14
2.1.3 變量 17
2.1.4 基本輸入、輸出 18
2.2 運算符和表達式 19
2.2.1 算術運算符和算術表達式 19
2.2.2 賦值運算符和賦值表達式 20
2.2.3 逗號運算符和逗號表達式 21
2.2.4 關系運算符和關系表達式 21
2.2.5 邏輯運算符和邏輯表達式 21
2.2.6 ++、--與sizeof運算符 22
2.2.7 位運算符 23
2.2.8 三目運算符 25
2.2.9 運算符的優先順序 25
2.2.10 運算式中的類型轉換 26
2.3 基本控制結構 27
2.3.1 表達式語句、空語句和復合語句 28
2.3.2 選擇控制語句 29
2.3.3 循環控制語句 32
2.3.4 break和continue語句 36
【實訓2】程序控制結構的應用 37
2.4 函數 39
2.4.1 函數的定義和調用 39
2.4.2 函數的參數傳遞 40
2.4.3 函數參數的引用傳遞 41
2.4.4 帶默認形參值的函數 43
2.4.5 函數的嵌套與遞歸調用 43
2.4.6 內聯函數 46
2.4.7 函數的重載 47
【實訓3】函數的應用 48
2.5 構造類型 50
2.5.1 數組與字符串 50
2.5.2 結構體 55
2.5.3 共用體 59
2.5.4 枚舉類型 59
2.5.5 用typedef定義類型 61
2.6 指針 62
2.6.1 指針和指針變量 62
2.6.2 &和*運算符 63
2.6.3 指針的賦值與運算 63
2.6.4 指針和數組 65
2.6.5 指針和結構體 69
2.6.6 指針和函數 70
2.6.7 動態內存分配new和delete 73
【實訓4】指針的綜合應用 74
項目設計1 控制臺程序的人機界面設計 80
本章小結 84
習題 85
第3章 C++程序的結構 88
3.1 作用域和可見性 88
3.1.1 作用域 88
3.1.2 可見性 89
3.2 生存期 90
3.2.1 靜態生存期 90
3.2.2 動態生存期 90
3.3 變量的存儲類型 91
3.3.1 局部變量 91
3.3.2 全局變量 92
3.3.3 外部變量 93
3.4 編譯預處理和多文件結構 95
3.4.1 編譯預處理命令 95
3.4.2 多文件組織結構 97
項目設計2 預處理及多文件結構 99
本章小結 103
習題 103
第4章 類與對象 105
4.1 面向對象程序設計的基本特點 105
4.1.1 抽象 105
4.1.2 封裝 106
4.1.3 繼承 107
4.1.4 多態 108
4.2 建立類與對象 109
4.2.1 類的聲明與實現 109
4.2.2 類成員的訪問控制 110
4.2.3 類的成員函數 112
4.2.4 對象的建立與使用 115
【實訓5】類的定義與對象的使用 118
4.3 構造函數和析構函數 120
4.3.1 構造函數 120
4.3.2 析構函數 126
4.4 類的作用域和對象的生存期 128
4.4.1 類的作用域 128
4.4.2 對象的生存期 129
4.5 類的靜態成員 131
4.5.1 靜態數據成員 131
4.5.2 靜態函數成員 133
【實訓6】對象與類成員的應用 137
4.6 常類型 138
4.6.1 常引用 138
4.6.2 常對象 139
4.6.3 用const修飾的類成員 139
4.7 數組、指針與對象 143
4.7.1 對象數組 143
4.7.2 對象指針 145
4.7.3 動態配置對象內存 146
4.7.4 淺拷貝和深拷貝 148
4.7.5 this指針 152
【實訓7】對象數組與指針的綜合應用 152
4.8 類的組合 156
4.8.1 類的組合 156
4.8.2 前向引用聲明 160
4.9 友元 161
4.9.1 友元函數 161
4.9.2 友元類 163
項目設計3 面向對象程序設計中類的應用 164
本章小結 171
習題 172
第5章 類的繼承與派生 173
5.1 繼承與派生 173
5.1.1 基類與派生類 173
5.1.2 派生類的聲明 174
5.1.3 派生類生成過程 175
5.2 繼承的三種方式 176
5.2.1 公有繼承 177
5.2.2 私有繼承 179
5.2.3 保護繼承 182
5.3 派生類的構造函數和析構函數 184
5.3.1 構造函數 184
5.3.2 析構函數 187
5.4 多繼承和虛基類 190
5.4.1 派生類成員的標識與訪問 190
5.4.2 作用域標識 190
5.4.3 多繼承和虛基類 191
5.4.4 虛基類及其派生類的構造函數 193
5.5 賦值兼容規則 194
【實訓8】類繼承與派生的應用 197
項目設計4 類的組織結構在校園信息
管理系統中的應用 200
本章小結 208
習題 208
第6章 多態性與虛函數 209
6.1 多態性概述 209
6.1.1 多態的類型 209
6.1.2 多態的實現 209
6.2 重載與再定義 210
6.2.1 函數的重載 210
6.2.2 函數的再定義 211
6.3 運算符重載 212
6.3.1 運算符重載的規則 213
6.3.2 運算符重載為成員函數 214
6.3.3 運算符重載為友元函數 219
6.4 虛函數 221
6.4.1 一般虛函數成員 222
6.4.2 虛析構函數 224
6.5 抽象類 225
6.5.1 純虛函數 226
6.5.2 抽象類 226
【實訓9】類的多態性綜合應用 228
項目設計5 多態在校園信息管理系統中
的應用 232
本章小結 240
習題 240
第7章 模板 242
7.1 模板的概念 242
7.2 函數模板 242
7.3 類模板 244
項目設計6 順序表模板 248
本章小結 252
習題 252
第8章 數據流與文件的輸入/輸出 253
8.1 I/O流的概念 253
8.2 數據流的控制 254
8.2.1 數據流的格式控制 254
8.2.2 常用的輸入/輸出函數 259
8.2.3 數據流的錯誤偵測 260
8.3 文件的輸入/輸出 261
8.3.1 fstream類 261
8.3.2 格式化文字模式的文件I/O 263
8.3.3 二進制模式的文件I/O 265
8.3.4 文件指針的使用 266
【實訓10】利用文件存儲對象 269
項目設計7 校園信息管理系統中
的數據存儲 271
本章小結 278
習題 278
第9章 異常處理 279
9.1 異常處理的基本思想 279
9.2 C++異常處理的實現 279
9.2.1 異常處理的機制 279
9.2.2 異常處理的規則 281
9.3 異常處理中的構造與析構 283
本章小結 284
習題 284
第10章 項目設計——校園信息管理系統 285
10.1 系統分析與設計 285
10.2 程序設計分析 285
10.3 源程序及說明 287
10.4 運行結果與分析 298
參考文獻 302
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- 數據挖掘算法—基于C++及CUDA C [蒂莫西•馬斯特斯(Timothy]
- Java面向對象程序設計(微課版) [主編 謝先偉 王海洋]
- Java面向對象程序設計 [主編 張立敏 鄒海濤]
- 火球-UML大戰需求分析(第二版) [張傳波 著]
- UML系統建模及系統分析與設計(第二版) [王欣 張毅 編著]
- C++程序設計簡明教程 [黃能耿 黃致遠 胡麗丹]
- Visual C++6.0程序項目案例教程 [朱 銘 曾強聰 編著]
- 嵌入式應用Qt_C++傳感數據采集開發實訓教程 [主編 劉和文 文燕 謝忠敏]
- Java面向對象編程 [肖睿 李志勇]
- Java面向對象程序設計 [主編 肖奎 姚競]
- Java面向對象程序設計 [主編 陳占偉]
- C++程序設計簡明教程(第二版) [主 編 王曉東 副主編 陳艷海 ]
- C++ STL基礎案例教程 [鐘琪 著]
- C++程序設計基礎教程 [主編 劉志寶 朱偉華 謝利民]
- Visual C++ & Android程序設計綜合實訓(第二版) [主編 梁建武]
- Visual C++程序設計教程(第二版) [梁建武]
- UML系統建模及系統分析與設計 [王欣 張毅 編著]
- C++應用程序設計 [劉彥姝 謝景偉]
- C++程序設計 [陳國志 叢華 單正 編著]
- C++面向對象程序設計習題解答及上機指導 [李素若 杜華兵]
- C++面向對象程序設計 [李素若 杜華兵]
- 面向對象程序設計(C#) [李法平 芮素娟]
- C/C++程序設計學習輔導 [李婷 李云峰 編著]
- C/C++程序設計 [李云峰 李婷 編著]
- 數字音頻規范與程序設計:基于Visual C++開發 [曹強 編著]