本書系統介紹C++語言的基礎知識、基本語法和編程方法。重點講述C++語言面向對象的重要特徵,包括類和對象、繼承性和派生類、多態性和虛函式、模板和C++語言實現的常用數據結構、異常處理和命名空間等重要內容。同時,還介紹C++語言對C語言的繼承和改進。 本書內容系統全面,偏重套用;通過例題詳細講述C++語言具有的封裝性、繼承性和多態性,並闡述使用C++語言編程的方法、技巧和工具等。為了方便教學,本書每章最後都備有大量的練習題和上機題。 本書適合作為高等院校“C++語言程式設計”課程的教學用書,還可作為C++語言的自學或教學參考書。
基本介紹
- 中文名:普通高等教育"十一五"國家級規劃教材·2
- 外文名:The C++ Programming Language(2nd Edition)
- 作者:呂鳳翥 王樹彬
- 出版日期:2013年5月1日
- 語種:簡體中文
- ISBN:9787115318916
- 品牌:人民郵電出版社
- 出版社:人民郵電出版社
- 頁數:332頁
- 開本:16
- 定價:45.00
內容簡介
作者簡介
圖書目錄
1.1 面向對象的概念 1
1.1.1 面向對象方法的由來 1
1.1.2 面向對象的基本概念 2
1.2 C++語言的特點 3
1.2.1 C++語言是面向對象的程式設計語言 3
1.2.2 C++語言繼承了C語言 3
1.2.3 C++語言對C語言進行了改進 4
1.3 C++程式在結構上的特點 4
1.3.1 C++程式舉例 5
1.3.2 C++程式結構上的特點 7
1.4 C++程式的實現 7
1.4.1 C++程式的編輯、編譯和運行 7
1.4.2 C++程式實現舉例 8
練習題1 12
上機指導1 14
第2章 變數和表達式 16
2.1 C++語言的字元集和單詞 16
2.1.1 C++語言字元集 16
2.1.2 單詞及其詞法規則 16
2.2 常量 18
2.2.1 常量的種類 18
2.2.2 符號常量 21
2.3 變數 22
2.3.1 變數的三要素 22
2.3.2 變數的定義格式 24
2.3.3 變數的作用域 25
2.4 運算符和表達式 27
2.4.1 運算符的種類和功能 27
2.4.2 運算符的優先權和結合性 30
2.4.3 表達式的值和類型 31
2.4.4 表達式求值舉例 32
2.5 類型轉換 36
2.5.1 自動轉換 36
2.5.2 強制轉換 37
2.6 數組 37
2.6.1 數組的定義格式和數組元素的表示方法 37
2.6.2 數組的賦值 39
2.6.3 字元數組和字元串 42
練習題2 46
上機指導2 54
第3章 語句和預處理 56
3.1 表達式語句和複合語句 56
3.1.1 表達式語句和空語句 56
3.1.2 複合語句和分程式 57
3.2 選擇語句 57
3.2.1 條件語句 57
3.2.2 開關語句 59
3.3 循環語句 61
3.3.1 while循環語句 61
3.3.2 do—while循環語句 62
3.3.3 for循環語句 63
3.3.4 多重循環 65
3.4 轉向語句 67
3.4.1 goto語句 67
3.4.2 break語句 68
3.4.3 continue語句 68
3.5 類型定義語句 69
3.6 預處理功能 70
3.6.1 檔案包含命令 70
3.6.2 宏定義命令 71
練習題3 72
上機指導3 77
第4章 指針和引用 78
4.1 指針和指針的定義格式 78
4.1.1 什麼是指針 78
4.1.2 指針的定義格式 79
4.2 指針的運算 80
4.2.1 指針的賦值運算和增值運算 80
4.2.2 指針的比較運算和相減運算 81
4.2.3 指針運算和地址運算 82
4.3 指針和數組 83
4.3.1 指針可表示數組元素 83
4.3.2 字元指針和字元串處理函式 86
4.3.3 指向數組的指針和指針數組 88
4.4 引用 90
4.4.1 引用和引用的創建方法 91
4.4.2 引用和指針 92
練習題4 93
上機指導4 97
第5章 函式 98
5.1 函式的定義和說明 98
5.1.1 函式的定義 98
5.1.2 函式的說明方法 100
5.2 函式的參數和返回值 100
5.2.1 函式的參數 100
5.2.2 設定函式參數的默認值 101
5.2.3 函式返回值的實現 103
5.3 函式的調用 104
5.3.1 函式的傳值調用 104
5.3.2 函式的引用調用 105
5.3.3 函式的嵌套調用 106
5.4 指針和引用作函式參數和返回值 107
5.4.1 指針作函式參數和返回值 107
5.4.2 引用作函式參數和返回值 109
5.5 重載函式和內聯函式 110
5.5.1 重載函式 110
5.5.2 內聯函式 113
5.6 函式的存儲類 113
5.6.1 外部函式 114
5.6.2 內部函式 115
練習題5 116
上機指導5 120
第6章 類和對象(一) 122
6.1 類的定義格式和對象的定義方法 122
6.1.1 類的定義格式 122
6.1.2 對象的定義方法 124
6.1.3 對象成員的表示 125
6.2 對象的初始化 127
6.2.1 構造函式的功能、種類和特點 127
6.2.2 析構函式的功能和特點 128
6.3 數據成員的類型和成員函式的特性 130
6.3.1 類中數據成員類型的規定 130
6.3.2 成員函式的特性 131
6.4 靜態成員 133
6.4.1 靜態數據成員 133
6.4.2 靜態成員函式 135
6.5 常成員 136
6.5.1 常數據成員 136
6.5.2 常成員函式 137
6.6 友元函式和友元類 138
6.6.1 友元函式 139
6.6.2 友元類 140
6.7 類型轉換 141
6.7.1 類型的隱含轉換 141
6.7.2 一般數據類型轉換為類類型 142
6.7.3 類類型轉換為一般數據類型 142
練習題6 143
上機指導6 149
第7章 類和對象(二) 151
7.1 對象指針和對象引用 151
7.1.1 對象指針 151
7.1.2 this指針 154
7.1.3 對象引用 155
7.2 對象數組和對象指針數組 157
7.2.1 對象數組 157
7.2.2 對象指針數組 158
7.2.3 指向對象數組的指針 159
7.3 子對象和堆對象 160
7.3.1 子對象 160
7.3.2 堆對象 162
7.4 類的作用域和對象的生存期 165
7.4.1 類的作用域 166
7.4.2 對象的生存期 166
7.5 結構的套用 167
7.5.1 結構變數和結構數組 168
7.5.2 使用struct定義類 171
練習題7 172
上機指導7 178
第8章 繼承性和派生類 181
8.1 繼承的概念 181
8.1.1 基類和派生類 181
8.1.2 單重繼承和多重繼承 182
8.1.3 派生類的定義格式 182
8.1.4 派生類成員的訪問許可權 183
8.2 單重繼承 187
8.2.1 單重繼承派生類的構造函式和析構函式 187
8.2.2 子類型和賦值兼容規則 193
8.3 多重繼承 195
8.3.1 多重繼承派生類的構造函式和析構函式 196
8.3.2 多重繼承的二義性 198
練習題8 201
上機指導8 206
第9章 多態性和虛函式 209
9.1 運算符重載 209
9.1.1 運算符重載的概念 209
9.1.2 運算符重載的兩種方法 210
9.1.3 運算符重載舉例 214
9.2 靜態聯編和動態聯編 217
9.2.1 聯編的概念 217
9.2.2 虛函式 220
9.2.3 動態聯編 221
9.2.4 虛析構函式 224
9.3 純虛函式和抽象類 225
9.3.1 純虛函式 225
9.3.2 抽象類 226
練習題9 227
上機指導9 233
第10章 C++語言檔案的輸入/輸出操作 234
10.1 I/O流類庫概述 234
10.1.1 輸入/輸出流 234
10.1.2 I/O流類庫的主要功能 234
10.2 標準檔案的輸入/輸出操作 235
10.2.1 螢幕輸出操作 235
10.2.2 鍵盤輸入操作 238
10.3 格式輸出操作 241
10.3.1 使用流對象的成員函式進行格式輸出 242
10.3.2 使用控制符進行格式輸出 244
10.4 磁碟檔案的操作 245
10.4.1 打開檔案和關閉檔案操作 245
10.4.2 檔案的輸入/輸出操作 247
10.4.3 隨機檔案操作 250
練習題10 251
上機指導10 255
第11章 模板 257
11.1 模板的基本概念 257
11.2 函式模板 257
11.2.1 函式模板的定義格式 257
11.2.2 函式模板與模板函式 260
11.3 類模板 261
11.3.1 類模板的定義格式 261
11.3.2 類模板繼承 265
練習題11 266
上機指導11 269
第12章 數據結構 271
12.1 幾種常用的數據結構 271
12.1.1 棧 271
12.1.2 佇列 274
12.1.3 線性鍊表 276
12.1.4 二叉樹 280
12.2 查找和排序運算 284
12.2.1 查找運算 284
12.2.2 排序運算 290
練習題12 292
上機指導12 297
第13章 異常處理和命名空間 298
13.1 異常處理 298
13.1.1 C++的異常處理機制 298
13.1.2 異常與繼承 305
13.1.3 構造函式和析構函式的異常處理 306
13.2 命名空間 308
13.2.1 命名空間的定義和使用方法 308
13.2.2 簡化使用命名空間成員 311
13.2.3 標準命名空間 313
練習題13 313
上機指導13 318
附錄A 字元的ASCII碼錶 320
附錄B MicrosoftVisualC++6.0集成開發工具簡介 322
附錄C C++標準庫簡介 329
參考文獻 332