注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關標準C++開發(fā)入門與編程實踐

標準C++開發(fā)入門與編程實踐

標準C++開發(fā)入門與編程實踐

定 價:¥49.80

作 者: 白喬
出版社: 電子工業(yè)出版社
叢編項: C C++開發(fā)專家
標 簽: C++

ISBN: 9787121052279 出版時間: 2007-12-01 包裝: 平裝
開本: 16 頁數: 477 字數:  

內容簡介

  本書著重介紹標準C++語言,即1998年由ISO正式推出的關于C++的國際性標準版本。 本書從最基礎的編程語言概念講起,共分6篇24章。前4篇完整地介紹C++的基礎語法知識,包括C++快速瀏覽、C++數據表達、C++過程設計和C++面向對象編程(OOP)。后2篇介紹C++的高級特性,如模板、異常、名字空間、RTTI等知識,以及編程實踐中要用到的C++標準庫、STL容器、泛型算法等應用性內容,結合實踐指南展開討論,并在最后根據一個具體的編程實例演示了C++知識點的綜合運用。 本書具有由淺入深、通俗易懂和注重實踐等特點,適合于沒有或者缺乏C++程序設計經驗的初學者作為標準C++語言的自學教材,同時也適合于已掌握C++基礎編程技術、需要提高C++實踐能力以及對標準C++語言感興趣的程序員進行閱讀。

作者簡介

暫缺《標準C++開發(fā)入門與編程實踐》作者簡介

圖書目錄

第1篇  C++快速瀏覽
第1章  了解C++語言 3
1.1  編程語言 4
1.1.1  機器語言 4
1.1.2  匯編語言 4
1.1.3  高級語言 5
1.2  C++發(fā)展簡史 6
1.3  C++開發(fā)環(huán)境 7
1.3.1  C++編譯器 7
1.3.2  C++標準與編譯器 8
1.3.3  C++開發(fā)環(huán)境 9
1.3.4  開發(fā)環(huán)境的選擇 12
第2章  計算機的數值表示 15
2.1  進制系統 16
2.1.1  十進制 16
2.1.2  二進制 16
2.1.3  八進制和十六進制 17
2.2  數值的表示 19
2.2.1  整數的表示 19
2.2.2  負數的表示 19
2.2.3  整數的表示范圍 20
2.2.4  浮點數的表示 20
2.2.5  觀察數值的二進制表示* 22
2.3  字符的表示 23
2.3.1  ASCII碼 23
2.3.2  漢字的編碼 25
2.3.3  UNICODE編碼 26
2.3.4  觀察字符的二進制表示* 27
2.3.5  字符與字體 29
2.3.6  鍵盤與輸入法 29
第3章  初識C++程序 33
3.1  開始C++編程 34
3.1.1  C++程序的開發(fā)流程 34
3.1.2  文件與工程(項目) 35
3.2  在Dev-C++中開發(fā)
HelloWorld 37
3.2.1  編輯HelloWorld 38
3.2.2  編譯連接HelloWorld 38
3.2.3  運行HelloWorld 39
3.3  在VC 2003中開發(fā)
HelloWorld 39
3.3.1  編輯HelloWorld 40
3.3.2  編譯連接Hello World 42
3.3.3  運行HelloWorld 43
3.4  可能遇到的問題 43
3.5  理解HelloWorld 45
3.5.1  main函數 45
3.5.2  函數 45
3.5.3  對象 46
3.5.4  頭文件 46
3.5.5  名字空間 46
3.5.6  標準輸入輸出 47
3.5.7  編譯器的行為 48
第2篇  C++數據表達
第4章  C++基礎語法 51
4.1  理解c=2?r 52
4.2  注釋 53
4.3  標識符 53
4.3.1  命名規(guī)則 53
4.3.2  關鍵字 54
4.4  數與類型 55
4.5  基本類型 55
4.5.1  整型 56
4.5.2  浮點型 56
4.5.3  布爾型 57
4.5.4  字符型 57
4.5.5  基本類型的字節(jié)長度* 57
4.6  字面常量 58
4.6.1  整型常量 59
4.6.2  浮點型常量 59
4.6.3  布爾型常量 59
4.6.4  字符型常量 60
4.6.5  字符串常量 60
4.6.6  字面常量的類型* 61
4.6.7  變量 62
4.7  語句 62
4.7.1  表達式 62
4.7.2  語句 62
4.7.3  聲明語句 62
4.7.4  賦值語句 63
4.7.5  初始化語句 63
4.7.6  使用調試器觀察變量值* 64
4.8  操作符 67
4.8.1  賦值操作符 67
4.8.2  算術操作符 68
4.8.3  關系操作符 69
4.8.4  邏輯操作符 69
4.8.5  條件操作符 70
4.8.6  位操作符 70
4.8.7  觀察二進制位操作* 71
4.8.8  復合賦值操作符 72
4.8.9  逗號操作符 73
4.8.10  sizeof操作符 74
4.8.11  typeid操作符 74
4.8.12  操作符的優(yōu)先級 75
4.9  類型轉換 76
4.9.1  隱式轉換 76
4.9.2  顯式轉換 76
4.9.3  算術轉換* 77
第5章  數組與字符串 79
5.1  數組 80
5.1.1  數組的概念 80
5.1.2  內存中的數組* 80
5.1.3  數組的初始化 81
5.1.4  數組元素的訪問 82
5.1.5  安全使用數組下標* 82
5.1.6  多維數組 83
5.2  字符串 85
5.2.1  傳統的字符串 85
5.2.2  安全的使用字符串* 86
5.2.3  std::string 86
第6章  指針與引用 89
6.1  指針 90
6.1.1  指針的概念 90
6.1.2  取址操作符 91
6.1.3  取值操作符 91
6.1.4  深入理解指針* 91
6.1.5  指針的比較 92
6.1.6  指針的加減 93
6.1.7  理解指針的運算* 93
6.1.8  數組與指針 95
6.1.9  指針的指針 96
6.1.10  指針數組 96
6.2  引用 96
6.2.1  引用的概念 96
6.2.2  理解引用* 97
6.3  動態(tài)內存分配 98
6.3.1  new 98
6.3.2  delete 98
6.3.3  數組的內存分配 99
第7章  自定義數據類型 101
7.1  結構 102
7.1.1  結構的定義 102
7.1.2  定義結構變量 103
7.1.3  結構的數據成員 103
7.1.4  結構成員的引用 103
7.1.5  結構的初始化 104
7.1.6  位域 105
7.2  聯合 106
7.2.1  聯合的定義 106
7.2.2  使用聯合 107
7.3  枚舉 108
7.3.1  枚舉定義 108
7.3.2  枚舉與int 109
7.4  typedef 109
7.5  數據類型修飾符 110
7.5.1  const 110
7.5.2  volatile 112
第3篇  C++過程設計
第8章  C++流程控制 115
8.1  判斷 116
8.1.1  if 116
8.1.2  語句塊* 116
8.1.3  if…else 116
8.1.4  if…else if…else 117
8.1.5  流程圖* 118
8.2  分支 118
8.3  循環(huán) 121
8.3.1  while 121
8.3.2  do…while 124
8.3.3  for 125
8.4  跳轉語句 126
8.4.1  嵌套循環(huán) 126
8.4.2  使用break中止循環(huán) 127
8.4.3  使用break中止分支 128
8.4.4  continue 128
8.4.5  goto 129
8.4.6  合理使用goto語句* 130
第9章  C++函數 133
9.1  函數 134
9.1.1  函數 134
9.1.2  函數調用 134
9.1.3  使用調試器觀察函數的
調用* 135
9.1.4  函數參數 137
9.1.5  返回值 138
9.2  函數原型 139
9.2.1  函數原型
(function prototype) 139
9.2.2  main()函數 141
9.2.3  定義帶參數的main()函數* 141
9.2.4  默認參數 142
9.2.5  可變參數* 144
9.2.6  內聯函數 146
9.3  函數重載 147
9.3.1  函數的重載 147
9.3.2  重載函數的調用 148
9.3.3  安全連接 149
9.3.4  名字重組* 150
9.4  遞歸函數 151
9.4.1  遞歸函數 151
9.4.2  使用調試器觀察函數的
遞歸調用* 154
9.5  函數與指針 155
9.5.1  指向函數的指針 155
9.5.2  理解函數指針* 156
9.5.3  函數與值傳遞 157
第10章  預處理 159
10.1  預處理指令 160
10.2  宏指令 161
10.2.1  宏 161
10.2.2  帶參數的宏 162
10.2.3  宏與常量、函數* 163
10.2.4  #操作符 164
10.2.5  ##操作符 164
10.2.6  取消宏 164
10.2.7  C++預定義宏 165
10.3  條件編譯指令 165
10.3.1  #if…#endif 165
10.3.2  #else 166
10.3.3  #elif 166
10.3.4  #if defined和#if !defined 167
10.3.5  #ifdef和#ifndef 167
10.4  文件包含指令 168
10.4.1  #include 168
10.4.2  合理使用頭文件 169
10.5  其他標準指令 170
10.5.1  #error 170
10.5.2  #line 171
10.5.3  #pragma 171
第4篇  C++面向對象編程
第11章  C++的類 175
11.1  類與對象 176
11.1.1  對象 176
11.1.2  類 176
11.2  類的設計 177
11.2.1  類的定義 177
11.2.2  對象的定義 178
11.2.3  數據成員的訪問 178
11.2.4  成員訪問控制 178
11.2.5  成員函數 179
11.2.6  內聯成員函數 181
11.2.7  成員函數的重載 182
11.2.8  this指針 182
11.2.9  內存中的類* 183
11.3  類的討論 187
11.3.1  類與結構 187
11.3.2  抽象性 187
11.3.3  封裝性 188
11.4  類的組合 191
11.4.1  使用類的組合 191
11.4.2  類的聲明 193
第12章  類的特殊函數 195
12.1  構造函數 196
12.1.1  構造函數(constructor) 196
12.1.2  帶參數的構造函數 197
12.1.3  初始值列表 198
12.2  成員初始值列表 199
12.2.1  使用成員初始值列表 199
12.2.2  對象成員初始化 200
12.3  析構函數 201
12.3.1  析構函數的定義 201
12.3.2  對象成員的構造與析構* 202
12.4  特殊構造函數 203
12.4.1  轉換構造函數 204
12.4.2  explicit 205
12.4.3  拷貝構造函數 206
12.5  操作符函數 207
12.5.1  操作符重載 208
12.5.2  一元操作符重載 208
12.5.3  二元操作符重載 209
12.5.4  全局操作符的重載 210
12.5.5  可重載的操作符 212
12.5.6  類型轉換函數 213
12.6  const與mutable 214
12.6.1  const 214
12.6.2  mutable 216
12.7  友元 217
12.7.1  聲明某個函數為友元 217
12.7.2  聲明某個類的成員函數
為友元 218
12.7.3  聲明某個類為友元 219
第13章  繼承 221
13.1  類的繼承 222
13.1.1  繼承的概念 222
13.1.2  類的繼承 223
13.1.3  內存中的派生類* 224
13.1.4  protected 226
13.1.5  基類訪問控制 227
13.2  構造與析構 228
13.2.1  派生類的構造 228
13.2.2  基類的初始化 229
13.2.3  默認構造函數 230
13.2.4  派生類的析構 230
13.3  名字隱藏 231
13.3.1  數據成員的隱藏 231
13.3.2  成員函數的隱藏 232
13.3.3  理解隱藏 233
第14章  多態(tài)性 235
14.1  類型轉換 236
14.1.1  向上轉換 236
14.1.2  向下轉換 236
14.2  虛函數與多態(tài) 237
14.2.1  類型轉換帶來的問題 237
14.2.2  虛函數 238
14.2.3  虛函數的填充* 239
14.2.4  多態(tài)性 239
14.2.5  虛析構函數 240
14.2.6  純虛函數 241
14.2.7  抽象類 241
14.3  多級繼承 242
14.3.1  多級繼承的使用 242
14.3.2  虛函數的多次填充* 244
14.4  多繼承 245
14.4.1  多繼承的使用 245
14.4.2  多繼承帶來的問題 247
14.4.3  虛擬繼承 249
第5篇  C++高級特性
第15章  模板 253
15.1  函數模板 254
15.1.1  函數模板的概念 254
15.1.2  模板參數與函數參數 255
15.1.3  函數模板的實例化 256
15.1.4  函數模板的重載 256
15.1.5  函數模板的特化* 257
15.2  類模板 258
15.2.1  類模板的概念 258
15.2.2  類模板的成員函數 258
15.2.3  包含多個參數的類模板 259
15.2.4  類模板的默認參數 260
第16章  C++異常處理 263
16.1  傳統的錯誤處理 264
16.2  拋出異常 268
16.3  捕獲異常 268
16.3.1  使用catch捕獲異常 269
16.3.2  捕獲不同類型的異常 271
16.3.3  捕獲所有的異常 272
16.3.4  在catch塊拋出異常 273
16.3.5  未捕獲的異常 273
16.3.6  定制terminate()的行為* 274
16.4  對拋出異常的聲明 275
第17章  名字空間與域 277
17.1  名字空間 278
17.1.1  名字空間定義 278
17.1.2  using聲明 279
17.1.3  using指令 279
17.1.4  名字空間的別名 279
17.2  作用域 279
17.3  局部作用域 280
17.3.1  局部作用域的概念 280
17.3.2  for語句的作用域 280
17.3.3  case語句塊的作用域 280
17.3.4  函數的作用域 281
17.4  局部變量的存儲類型 281
17.4.1  自動存儲類型 281
17.4.2  寄存器存儲類型 282
17.4.3  靜態(tài)存儲類型 283
17.5  名字空間域 284
17.5.1  全局域 284
17.5.2  外部存儲類型 284
17.5.3  文件域 286
17.5.4  名字空間域 286
17.6  類域 286
17.6.1  類域的概念 286
17.6.2  static數據成員 288
17.6.3  static成員函數 290
17.7  作用域的嵌套 291
17.7.1  語句塊的嵌套 291
17.7.2  名字空間的嵌套 292
17.7.3  類的嵌套 292
17.7.4  在語句塊中定義類 293
17.7.5  嵌套帶來的隱藏 293
17.8  對象的生命周期 293
第18章  運行時類型信息 297
18.1  動態(tài)類型的獲取 298
18.1.1  typeid關鍵字 298
18.1.2  type_info 298
18.1.3  打開RTTI開關* 299
18.1.4  獲取對象的動態(tài)類型 300
18.2  C++風格的類型轉換 301
18.2.1  動態(tài)類型轉換
dynamic_cast 301
18.2.2  靜態(tài)類型轉換static_cast 303
18.2.3  再解釋類型轉換
reinterpret_cast 304
18.2.4  常類型轉換const_cast 304
第6篇  C++編程實踐
第19章  C++標準庫 307
19.1  C++標準庫的組成 308
19.2  字符串庫<string> 309
19.2.1  字符串的構造與賦值 309
19.2.2  字符串的連接 309
19.2.3  字符串的比較 309
19.2.4  字符串的下標 310
19.2.5  子串 310
19.2.6  字符串的查找 311
19.2.7  string與C-style字符串 311
19.2.8  空字符串 312
19.3  復數類<complex> 313
19.3.1  復數的構造 313
19.3.2  復數的四則運算 313
19.3.3  復數的操作函數 313
19.4  異常類<stdexcept> 314
19.5  C標準庫 316
19.5.1  assert宏 317
19.5.2  類型函數 318
19.5.3  數學函數 318
19.5.4  類型轉換函數 319
19.5.5  隨機數函數 319
19.5.6  可變參數處理 320
19.5.7  內存操作函數 321
19.5.8  系統控制函數 322
19.5.9  字符串處理函數 323
19.5.10  時間處理函數 324
第20章  C++流 327
20.1  輸入輸出流<iostream> 328
20.1.1  輸入輸出流 328
20.1.2  流操作符 328
20.1.3  格式化輸出函數 329
20.1.4  格式操縱符 330
20.1.5  流的輸出 332
20.1.6  緩沖輸出 332
20.1.7  流的輸入 333
20.1.8  狀態(tài)標志* 335
20.2  標準輸入輸出流 336
20.3  文件流<fstream> 337
20.3.1  文件的打開和關閉 338
20.3.2  二進制輸入輸出 340
20.3.3  定位文件位置 341
20.4  字符串流<sstream> 342
20.4.1  ostringstream 343
20.4.2  istringstream 343
20.4.3  stringstream 344
第21章  STL容器 345
21.1  標準模板庫 346
21.1.1  STL的概念 346
21.1.2  STL的組成 348
21.1.3  STL的使用實例 348
21.2  容器 350
21.2.1  STL容器 350
21.2.2  容器的模板參數 351
21.2.3  容器的比較 352
21.2.4  容器的賦值和交換 352
21.2.5  operator [] 352
21.2.6  指示器的獲取 352
21.2.7  元素的迭代訪問 353
21.2.8  容器的尺寸 353
21.3  向量 353
21.3.1  向量的構造 354
21.3.2  向量元素的訪問 354
21.3.3  向量元素的添加 355
21.3.4  向量元素的刪除 355
21.4  列表 355
21.4.1  列表的構造 356
21.4.2  列表元素的訪問 356
21.4.3  列表元素的添加 356
21.4.4  列表元素的刪除 356
21.5  雙端隊列 357
21.5.1  雙端隊列的構造 357
21.5.2  雙端隊列元素的訪問 357
21.5.3  雙端隊列元素的添加 357
21.5.4  雙端隊列元素的刪除 357
21.6  容器適配器 358
21.6.1  棧 358
21.6.2  隊列 358
21.6.3  優(yōu)先級隊列 359
21.7  映射 360
21.7.1  映射的構造 360
21.7.2  映射元素的訪問 361
21.7.3  映射元素的添加 362
21.7.4  映射元素的刪除 362
21.7.5  映射元素的查找 362
21.7.6  多重映射 362
21.8  集合 363
21.8.1  集合的構造 363
21.8.2  集合元素的訪問 364
21.8.3  集合元素的添加 364
21.8.4  集合元素的刪除 364
21.8.5  集合元素的查找 364
21.8.6  多重集合 365
21.9  位集合 365
21.9.1  位集合的概念 366
21.9.2  位集合的構造 366
21.9.3  位集合的輸出 366
21.9.4  位元素的操作 366
21.9.5  位集合的賦值與轉換 367
21.9.6  位集合的尺寸 367
21.9.7  位集合的比較 367
21.9.8  位集合的位操作 368
第22章  泛型算法 369
22.1  指示器 370
22.1.1  指示器的獲取 370
22.1.2  指示器的數據類型 370
22.1.3  指示器的迭代 370
22.1.4  迭代的方向* 372
22.1.5  指示器的迭代類型 372
22.2  指示器適配器 373
22.2.1  反向指示器 373
22.2.2  插入型指示器 374
22.3  函數對象 374
22.4  算法 376
22.4.1  查找算法 377
22.4.2  排序與通用整序算法 378
22.4.3  刪除和替換算法 379
22.4.4  排列組合算法 380
22.4.5  算術算法 380
22.4.6  生成和異變算法 381
22.4.7  關系算法 381
22.4.8  集合算法 382
22.4.9  堆算法 383
第23章  C++實踐指南 385
23.1  提高代碼的可讀性 386
23.1.1  不要吝嗇注釋 386
23.1.2  不要吝嗇空白 388
23.1.3  愛惜標識符 390
23.1.4  合理使用操作符函數 391
23.1.5  合理使用別名 391
23.1.6  合理使用跳轉語句 392
23.2  編寫笨的程序 394
23.2.1  書寫正常的表達式 394
23.2.2  使用bool類型進行判斷 395
23.2.3  保證對象的初始化 396
23.2.4  盡量多寫一些if 397
23.2.5  不要再發(fā)明string類 398
23.2.6  使用標準C++ 399
23.3  合理使用內存 399
23.3.1  C++中的內存 399
23.3.2  內存的非法訪問 400
23.3.3  內存泄漏 402
23.3.4  內存泄漏的檢測 404
23.3.5  CMemory State 405
23.3.6  智能指針(auto_ptr) 406
23.4  合理使用OOP 409
23.4.1  合理封裝對象 409
23.4.2  對象拷貝的產生 409
23.4.3  對象的初始化 412
23.4.4  對象的賦值與初始化 413
23.4.5  合理使用繼承與組合 414
23.4.6  合理使用多繼承 416
23.4.7  合理使用虛函數和虛基類 418
23.5  不要教條主義 420
第24章  綜合實踐:《西游記》
游戲模擬 423
24.1  功能分析 424
24.1.1  游戲運行界面 424
24.1.2  游戲角色劃分 424
24.1.3  戰(zhàn)斗的形成 425
24.1.4  兵器的分配 425
24.2  設計思路 426
24.2.1  使用類和繼承完成角色
的設計 426
24.2.2  使用文件流加載角色列表 426
24.2.3  使用虛函數實現角色的
多態(tài) 427
24.2.4  使用操作符的重載 429
24.2.5  使用異常處理提高程序的
魯棒性 429
24.2.6  使用RTTI獲取角色的
類別 430
24.2.7  使用STL容器管理角色 431
24.2.8  使用STL容器管理兵器 432
24.2.9  使用泛型算法完成查找
與排序 433
24.2.10  使用循環(huán)和判斷完成
  主控邏輯 435
24.3  實現詳解 435
24.3.1  Weapon 436
24.3.2  Actor 438
24.3.3  Monk 443
24.3.4  ActorPowersAccumulater 446
24.3.5  God 446
24.3.6  Monster 448
24.3.7  FollowerMonster 449
24.3.8  GameException 450
24.3.9  Game 453
24.3.10  main()函數 468
24.4  運行并觀察游戲 469
24.4.1  actors.ini 469
24.4.2  運行程序 472

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號