基本信息
書 名 面向對象程式設計及C++(第2版)(工業和信息化普通高等教育“十二五”規劃教材立項項目)叢 書 名 21世紀高等學校計算機規劃教材——高校系列
標準書號 ISBN 978-7-115-26906-5
編目分類 TP312
作 者 朱立華 俞瓊 主編
譯 者 --
責任編輯 武恩玉
開 本 16 開
印 張 18.5
字 數 491 千字
頁 數 290 頁
裝 幀 平裝
版 次 第2版第1次
二版時間 2012年2月
本 印 次 2012年2月
首 印 數 -- 冊
定 價 38.00 元
內容提要
本書是為已經掌握C語言知識,需要學習C++語言的讀者編寫的一本C++語言入門教材。全書共分9章。第1章通過與面向過程的程式設計方法的簡單對比,初步介紹面向對象程式設計方法;第2章介紹在面向過程的程式設計方面C++語言對C語言的改進及擴充;第3章至第6章以面向對象程式設計的封裝性、繼承性和多態性這3大主要特徵為主線組織內容,系統而全面地介紹了面向對象程式設計的基本概念和方法,是本書最核心的內容;第7章簡單介紹模板的知識及STL初步;第8章介紹輸入/輸出控制及檔案的讀寫;第9章通過一個綜合實例初步介紹了面向對象的程式設計過程。
本書注重可讀性、啟發性和可用性。每章開頭的內容提要簡明扼要地對本章內容進行總體描述;在每章結尾有本章小結,對本章的主要內容作歸納總結;每章最後還配有一定數量的習題幫助讀者鞏固知識。每章通過大量典型的實例解析新的知識點。書中還通過大量圖、表對知識點作總結或從本質上進行分析,便於讀者記憶和理解。另外,本書還為授課教師提供配套的電子課件、全部例題原始碼以及習題原始碼。
本書可作為高等院校計算機相關專業程式設計課程的教材,也可作為工程技術人員的參考用書。
目 錄
第1章 面向對象程式設計及C++語言概述 11.1 面向過程與面向對象 1
1.1.1 面向過程的程式設計 1
1.1.2 面向對象的程式設計 2
1.2 面向對象的基本概念及特徵 4
1.2.1 類與對象 4
1.2.2 封裝性 5
1.2.3 繼承性 6
1.2.4 多態性 6
1.3 C++語言概述 7
1.3.1 C++語言支持面向對象的程式設計 7
1.3.2 C++語言與C語言的關係 8
1.3.3 其他面向對象的程式設計語言 9
1.4 C++程式及其開發 9
1.4.1 C++程式的開發過程 9
1.4.2 VC++ 6集成開發環境簡介 11
1.4.3 VC++ 6集成開發環境的使用 12
1.4.4 VC++ 6下的C++程式實現示例 16
本章小結 20
習題 21
第2章 C++對C的改進及擴展 22
2.1 函式中一些基本控制的區別 22
2.1.1 C++語言用I/O流實現輸入/輸出 22
2.1.2 新增的單行注釋 24
2.1.3 使用const定義常量 24
2.1.4 新增的強制類型轉換方式 26
2.1.5 新增的bool類型 26
2.1.6 名字空間 27
2.2 有關函式的區別 28
2.2.1 局部變數隨用隨定義 29
2.2.2 域解析符::擴大全局變數的可見範圍 30
2.2.3 形式參數可帶有默認值 31
2.2.4 內聯函式 32
2.2.5 函式重載 34
2.3 新增引用的靈活運用 35
2.3.1 引用的概念及使用 36
2.3.2 引用作為形式參數 37
2.3.3 引用與指針的區別 39
2.3.4 引用作為返回值 40
2.4 動態記憶體空間管理 42
2.4.1 用new申請動態記憶體空間 42
2.4.2 用delete釋放動態記憶體空間 43
2.4.3 void類型的指針 43
2.5 C++語言中的異常處理 44
2.5.1 異常和異常處理 44
2.5.2 異常處理的實現 45
本章小結 46
習題 47
第3章 類與對象 52
3.1 類與對象的定義 52
3.1.1 類的定義 52
3.1.2 定義對象 57
3.1.3 this 指針 61
3.2 構造函式與析構函式 62
3.2.1 構造函式 63
3.2.2 析構函式 70
3.3 深拷貝與淺拷貝 71
3.4 對象的使用 74
3.4.1 對象數組 75
3.4.2 對象指針 76
3.4.3 對象引用 77
3.4.4 對象參數 78
3.5 友元 83
3.5.1 友元函式 83
3.5.2 友元成員 85
3.5.3 友元類 87
3.6 程式實例——學生信息管理系統 89
本章小結 95
習題 96
第4章 類中數據的共享與保護 101
4.1 靜態成員 101
4.1.1 靜態數據成員 101
4.1.2 靜態成員函式 103
4.2 共享數據的保護 105
4.2.1 常數據成員 105
4.2.2 常成員函式 107
4.2.3 常對象 109
4.3 程式實例——學生信息管理系統 111
本章小結 117
習題 117
第5章 類與類之間的關係 123
5.1 類的組合 123
5.1.1 類的組合關係 123
5.1.2 對象成員的構造與析構 124
5.2 類的依賴 126
5.3 類的繼承與派生 128
5.3.1 派生類的定義 128
5.3.2 派生類對象的構造與析構 134
5.3.3 同名衝突及其解決方案 139
5.3.4 賦值兼容規則 148
5.4 程式實例——師生信息管理系統 149
本章小結 158
習題 158
第6章 多態性 167
6.1 多態的兩種類型 167
6.2 靜態多態性的實現 168
6.2.1 運算符重載的規則 169
6.2.2 用成員函式重載運算符 172
6.2.3 用友元函式重載運算符 174
6.2.4 幾種常用運算符的重載 177
6.3 動態多態性的實現 185
6.3.1 虛函式的定義 185
6.3.2 虛析構函式 188
6.3.3 虛函式與同名覆蓋 190
6.4 純虛函式與抽象類 192
6.4.1 純虛函式 192
6.4.2 抽象類 193
6.5 程式實例——學生信息管理系統 195
本章小結 201
習題 201
第7章 模板 206
7.1 模板的概念 206
7.2 函式模板與模板函式 207
7.2.1 函式模板的定義與模板函式的使用 207
7.2.2 重載模板函式 209
7.3 類模板與模板類 210
7.3.1 類模板的定義 211
7.3.2 類模板的使用 212
7.4 泛型程式設計與C++STL簡介 214
7.4.1 泛型程式設計的基本方法 214
7.4.2 STL概述 214
7.4.3 容器(vector) 215
7.4.4 疊代器(iterator) 220
7.4.5 算法 224
7.4.6 string類型 228
7.5 程式實例——學生信息管理系統 232
本章小結 236
習題 236
第8章 C++語言的流類庫與輸入/輸出控制 241
8.1 I/O流的概念及流類庫 241
8.1.1 streambuf類 242
8.1.2 ios類 242
8.2 鍵盤輸入與螢幕輸出 244
8.2.1 一般的輸入/輸出 244
8.2.2 格式化的輸入/輸出 249
8.3 檔案的輸入/輸出 255
8.3.1 檔案的打開與關閉 255
8.3.2 檔案的讀寫 258
8.3.3 隨機檔案的讀寫操作 264
8.4 程式實例——學生信息管理系統 266
本章小結 269
習題 270
第9章 面向對象編程初步 273
9.1 面向對象編程的基本過程 273
9.2 程式實例——信息管理系統 276
本章小結 284
附錄A ASCII表 285
附錄B C++語言的關鍵字 287
附錄C C++語言運算符的優先權與結合性 288
參考文獻 290