C++程序設計
-
【作 者】杜四春 銀紅霞 蔡立軍 編著
【I S B N 】978-7-5084-2311-9
【責任編輯】楊慶川
【適用讀者群】
【出版時間】2005-01-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】
【千字數】549
【印 張】22.5
【定 價】¥32
【叢 書】21世紀高等院校規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書全面系統地講述了C++語言的基本概念、語法和面向對象的編程方法,對C++語言面向對象的基本特征:類和對象、繼承性、派生類、多態性和虛函數等內容作了詳盡的介紹。本書具有豐富的例題,每章后面備有形式多樣的練習題。內容安排上循序漸進、深入淺出,力求通俗易懂、突出重點、側重應用。
本書不僅可作為高等院校和培訓機構C++程序設計教材,也可作為C++語言自學者的自學指導書和計算機工程技術人員的參考書。
C++語言是目前使用最為廣泛的一種高效程序設計語言,是從C語言發展演變而來的,是C語言的超集,它既可以進行過程化程序設計,也可以用于面向對象的程序設計。實現了類的封裝、數據隱藏、繼承及多態性,使得其代碼容易維護且高度可重用。
本書作為一本C++語言的入門教材,不僅詳細地介紹了C++語言本身,而且深入地講述了面向對象程序設計的方法。本書的主要特點是語言流暢,簡潔易懂,例題豐富,實用性強。這使得讀者不僅可以學會一門程序設計語言,還能初步掌握面向對象的程序設計方法。其中豐富的例題使得初學者可以在學習的同時就開始積累編程經驗,以盡快達到學以致用的目的。
本書內容包括:
第1章C++簡單程序設計,主要介紹C++的發展歷史,面向對象程序設計的概念,C++的詞法與規則,C++程序的結構與實現,數據類型,常量和變量,運算符與表達式,流控制,數據的輸入輸出,C++語句,順序、分支和循環程序設計。
第2章函數,主要介紹函數的定義與聲明,函數調用,內聯函數和函數的作用域等內容。
第3章類和對象,主要介紹類和對象,對象的初始化,構造函數與析構函數,堆與拷貝構造函數,局部類和嵌套類,引用,常類型等內容。
第4章數組與指針,主要介紹數組與指針的概念,指針運算,指針與數組,指針與函數,指針與字符串,動態內存分配和this指針等。
第5章繼承和派生,主要介紹基類和派生類,單繼承、多繼承和虛基類。
第6章靜態成員與友元,主要介紹靜態數據成員和靜態成員函數,友元函數和友元類。
第7章運算符重載,主要介紹單目和雙目運算符重載,包括賦值運算符重載、下標運算符重載、比較運算符重載、運算符new與delete重載、逗號運算符重載、類型轉換運算符重載、->運算符的重載、函數調用運算符重載和重載I/O運算符。
第8章模板,主要介紹模板的概念,函數模板和類模板。
第9章多態性與虛函數,主要介紹普通成員函數重載,構造函數重載,派生類指針,虛函數,純虛函數和抽象類等。
第10章流類庫與輸入輸出,主要介紹I/O標準流類,鍵盤輸入和屏幕輸出,磁盤文件的輸入和輸出,字符串流等內容。
第11章異常處理,主要介紹異常的概念,基本原理,異常處理機制,異常處理方法和多路捕獲。
第12章Visual C++環境下Windows程序開發概述,主要介紹Visual C++環境,Windows和MFC編程基礎以及如何使用Visual C++開發Windows程序。
本書中所有例題都在Visual C++6.0環境下運行通過,在其他版本的編譯系統下一般也都可以運行。本書作為高等院校的C++程序設計本科教材,建議教授課時為48課時,上機實踐課時為24課時,課程設計課時為16課時。各院校可根據教學實際情況適當增刪。
本書也可作為大中專院校的程序設計課程教材和各類培訓機構培訓教材,還可供從事計算機應用的工程和技術人員參考。
本書編寫過程中,編者參閱了許多C++的參考書和有關資料,并閱讀了一些翻譯的書籍,現謹向這些書的作者和譯者表示衷心的感謝。
本書由蔡立軍統稿。湖南大學計算機與通信學院銀紅霞編寫1~5章,杜四春編寫6~12章。
由于編者水平有限,書中不妥或錯誤之處在所難免,懇請專家和廣大讀者批評指正。
編者
2004年10月于岳麓山
第1章 C++簡單程序設計 1
1.1 C++語言概述 1
1.1.1 從C到C++ 1
1.1.2 C++面向對象的特性 1
1.1.3 C++的詞法與規則 2
1.1.4 C++程序結構的組成 4
1.1.5 C++程序的開發步驟 4
1.2 基本數據類型和表達式 5
1.2.1 數據類型概述 5
1.2.2 常量 6
1.2.3 變量 10
1.3 運算符與表達式 11
1.3.1 運算符 12
1.3.2 表達式 15
1.3.3 數據類型轉換 16
1.4 程序的基本控制結構 17
1.4.1 順序結構 17
1.4.2 選擇結構 19
1.4.3 循環結構 25
1.4.4 轉移語句 29
習題 31
第2章 函數 33
2.1 函數的定義與函數的聲明 33
2.1.1 函數的定義 33
2.1.2 函數的聲明 35
2.2 函數的調用 37
2.2.1 函數調用的格式 37
2.2.2 函數調用的過程 38
2.2.3 函數調用時的參數傳遞 38
2.2.4 帶默認形參值的函數 40
2.2.5 函數的遞歸調用 43
2.2.6 函數的嵌套調用 48
2.3 內聯函數 48
2.4 存儲類型說明與作用域 51
2.4.1 存儲類型說明 51
2.4.2 作用域的分類 53
2.4.3 域運算符 58
習題 59
第3章 類和對象 60
3.1 類和類的定義 60
3.1.1 類的定義 60
3.1.2 類的成員函數 63
3.1.3 類和結構 64
3.2 對象和對象的定義 66
3.2.1 對象的說明 66
3.2.2 對象的生存期 68
3.2.3 類作用域 69
3.3 構造函數與析構函數 70
3.3.1 構造函數 70
3.3.2 析構函數 73
3.3.3 缺省構造函數和缺省析構函數 75
3.3.4 帶參數的構造函數 75
3.4 拷貝構造函數 76
3.5 局部類和嵌套類 81
3.6 引用 83
3.6.1 引用的概念 83
3.6.2 引用作為函數參數 84
3.6.3 對象引用作函數參數 86
3.6.4 引用返回值 86
3.7 常類型 88
3.7.1 const和volatile 88
3.7.2 常引用 88
3.7.3 常對象 89
3.7.4 常對象成員 90
習題 94
第4章 數組與指針 97
4.1 數組 97
4.1.1 數組的定義及初始化 97
4.1.2 二維數組 101
4.1.3 對象數組 104
4.1.4 字符串處理 105
4.2 指針 107
4.2.1 指針的定義和使用 107
4.2.2 指針運算 118
4.3 指針與字符串 122
4.3.1 通過指針訪問字符 123
4.3.2 字符數組與字符指針的異同 123
4.3.3 字符指針作為函數參數 124
4.4 指針與數組 124
4.4.1 一維數組的指針表示法 124
4.4.2 二維數組的指針表示法 130
4.4.3 指針數組 131
4.5 指針與函數 135
4.5.1 函數指針 135
4.5.2 指針作為函數參數 136
4.5.3 指針型函數 143
4.5.4 main函數中的指針參數 145
4.6 void指針與const指針 147
4.6.1 void指針 147
4.6.2 const指針 149
4.7 類成員指針 149
4.7.1 類數據成員指針 149
4.7.2 類成員函數指針 150
4.8 this指針 151
4.9 動態內存分配 153
4.9.1 new 153
4.9.2 delete 155
習題 159
第5章 繼承和派生 160
5.1 基類和派生類 160
5.1.1 派生類的定義格式 160
5.1.2 派生類的三種繼承方式 162
5.1.3 訪問控制 165
5.1.4 基類和派生類的關系 171
5.2 單繼承 171
5.2.1 成員訪問權控制 171
5.2.2 派生與構造函數、析構函數 173
5.2.3 繼承中構造函數的調用順序 178
5.2.4 組合 180
5.2.5 子類型和類型適應 181
5.3 多繼承 181
5.3.1 多繼承的概念 181
5.3.2 多繼承的構造函數 183
5.3.3 二義性和支配原則 187
5.3.4 賦值兼容規則 191
5.4 虛基類 192
5.4.1 虛基類的引入 192
5.4.2 虛基類的構造函數 197
習題 199
第6章 靜態成員與友元 201
6.1 靜態成員 201
6.1.1 靜態數據成員 201
6.1.2 靜態成員函數 203
6.2 友元函數 205
6.2.1 友元函數的說明 206
6.2.2 友元函數的使用 208
6.3 友元類 209
習題 210
第7章 運算符重載 214
7.1 運算符重載概述 214
7.2 運算符重載的實現 215
7.3 一元運算符重載 219
7.4 二元運算符重載 221
7.5 特殊運算符重載 224
7.5.1 賦值運算符重載 224
7.5.2 下標運算符重載 227
7.5.3 比較運算符重載 228
7.5.4 new與delete運算符重載 228
7.5.5 逗號運算符重載 230
7.5.6 類型轉換運算符重載 231
7.5.7 ->運算符重載 232
7.5.8 函數調用運算符重載 232
7.5.9 I/O運算符重載 233
習題 234
第8章 模板 237
8.1 模板的概念 237
8.2 函數模板 237
8.2.1 函數模板說明 237
8.2.2 使用函數模板 238
8.2.3 重載模板函數 239
8.3 類模板 239
8.3.1 類模板說明 240
8.3.2 使用類模板 242
8.3.3 類模板的友元 246
8.3.4 標準類模板類庫 248
習題 249
第9章 多態性與虛函數 251
9.1 多態性 251
9.1.1 普通成員函數重載 251
9.1.2 構造函數重載 255
9.1.3 派生類指針 258
9.2 虛函數 262
9.2.1 靜態聯編與動態聯編 262
9.2.2 虛函數的概念 263
9.2.3 動態聯編與虛函數 271
9.2.4 虛函數的限制 273
9.2.5 虛函數與重載函數的比較 274
9.3 純虛函數和抽象類 274
9.3.1 純虛函數 274
9.3.2 抽象類 276
9.3.3 虛析構函數 280
習題 281
第10章 流類庫與輸入輸出 284
10.1 I/O標準流類 284
10.1.1 預定義流 284
10.1.2 C++中的流類庫 286
10.2 格式化I/O 286
10.2.1 ios類中的枚舉常量 286
10.2.2 使用ios成員函數 287
10.2.3 使用I/O操作符 290
10.2.4 檢測流操作的錯誤 292
10.3 文件流 292
10.3.1 文件的概念 292
10.3.2 文件的打開與關閉 294
10.3.3 文件的讀寫 297
10.4 字符串流 303
10.4.1 字符串流概述 303
10.4.2 istrstream類的構造函數 304
10.4.3 ostrstream類的構造函數 305
習題 306
第11章 異常處理 309
11.1 異常處理概述 309
11.2 異常處理的基本思想 309
11.3 異常處理的實現 310
11.3.1 異常處理的語法 310
11.3.2 異常處理機制 313
11.4 標準C++庫中的異常類 318
11.5 多路捕獲 318
11.6 含有異常的程序設計 321
11.6.1 何時避免異常 321
11.6.2 異常的典型使用 322
習題 323
第12章 Visual C++環境下Windows程序開發概述 326
12.1 Visual C++可視化集成開發環境 326
12.1.1 Visual C++簡介 326
12.1.2 項目開發過程 327
12.1.3 集成開發環境Developer Studio 328
12.1.4 常用功能鍵及其意義 329
12.2 創建、組織文件、工程和工作區 330
12.2.1 新建工程 331
12.2.2 新建工作區 331
12.2.3 增加已有文件到工程中 332
12.2.4 打開工作區 332
12.2.5 設置當前工程 332
12.3 Windows編程基礎 332
12.3.1 Windows API 332
12.3.2 Windows基礎 332
12.3.3 Windows消息映射和處理 334
12.4 Win32開發 335
12.4.1 搶先式多任務和多線程 336
12.4.2 連續的地址空間和先進的內存管理 336
12.4.3 內存映射文件 337
12.4.4 Win32s:Windows 3.x對Win32 API的支持 338
12.4.5 Win32編程基礎 338
12.5 MFC編程 339
12.5.1 MFC類庫概念和組成 339
12.5.2 MFC應用程序框架 343
12.5.3 MFC的優點 344
12.5.4 MFC對消息的管理 344
參考文獻 348
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- 數據挖掘算法—基于C++及CUDA C [蒂莫西•馬斯特斯(Timothy]
- C++程序設計簡明教程 [黃能耿 黃致遠 胡麗丹]
- Visual C++6.0程序項目案例教程 [朱 銘 曾強聰 編著]
- 嵌入式應用Qt_C++傳感數據采集開發實訓教程 [主編 劉和文 文燕 謝忠敏]
- C++程序設計簡明教程(第二版) [主 編 王曉東 副主編 陳艷海 ]
- C++ STL基礎案例教程 [鐘琪 著]
- C++程序設計基礎教程 [主編 劉志寶 朱偉華 謝利民]
- Visual C++ & Android程序設計綜合實訓(第二版) [主編 梁建武]
- Visual C++程序設計教程(第二版) [梁建武]
- C++應用程序設計 [劉彥姝 謝景偉]
- C++程序設計 [陳國志 叢華 單正 編著]
- C++面向對象程序設計習題解答及上機指導 [李素若 杜華兵]
- C++面向對象程序設計 [李素若 杜華兵]
- C/C++程序設計學習輔導 [李婷 李云峰 編著]
- C/C++程序設計 [李云峰 李婷 編著]
- 數字音頻規范與程序設計:基于Visual C++開發 [曹強 編著]
- C++程序設計基礎實踐教程 [主編 楊長興 李利明]
- C語言程序設計——Visual C++ 6.0環境(第二版) [張昕]
- C++程序設計(第二版) [主編 楊長興 劉衛國]
- C++程序設計實踐教程(第二版) [主 編 劉衛國 楊長興]
- C++程序設計基礎 [主編 楊長興]
- 數據結構(C++描述)習題解答及實習指導 [李根強 謝月娥 主編]
- 數據結構(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- C++程序設計實驗指導與實訓 [蔡立軍 杜四春 銀紅霞 編著]
- 數據結構(C++描述) [李根強 主 編]
- C++面向對象程序設計(第二版) [曹靜 主編]