完美C++教程(第1版)

完美C++教程(第1版)

完美C++教程(第1版)》是2005年清華大學出版社出版的圖書,作者是Walter Savitch。

基本介紹

  • 書名:完美C++教程(第1版)
  • 又名:C++教程
  • 作者:Walter Savitch
  • 原版名稱:完美C++教程
  • ISBN:9787302111856
  • 類別:計算機編程
  • 定價:78元
  • 出版社清華大學
  • 出版時間:2005-7-29
  • 裝幀:平裝
  • 開本:26cm
內容簡介,編輯推薦,目錄,

內容簡介

完整和全面的可執行程式,以說明C++語言的特性。
全面介紹了標準模板庫(STL)——它是理解C++語言的必需要素,因為它體現了這種語言豐富的功能性和多樣性。

編輯推薦

《完美C++教程》是暢銷書作者Walter Savitch撰寫的一本關於C++的權威性教材。這本嶄新的圖書對C++程式語言提供了完整的、全面的和完美的介紹。
《完美C++教程》為那些希望掌握C++的經驗豐富的程式設計師或者初學者都提供了全部必要的工具,特彆強調了這種語言在基本編程技巧方面的品質和複雜性。

目錄

第1章C++基礎1
1.1C++簡介1
1.1.1C++語言的起源1
1.1.2C++與面向對象的程式設計2
1.1.3C++特點2
1.1.4C++術語2
1.1.5C++程式示例2
1.2變數、表達式及賦值語句4
1.2.1標識符4
1.2.2變數5
1.2.3賦值語句7
1.2.4更多賦值語句9
1.2.5賦值兼容性10
1.2.6文字常量11
1.2.7轉義序列12
1.2.8名字常量13
1.2.9算術操作符和表達式14
1.2.10整數和浮點數除法15
1.2.11類型轉換17
1.2.12自增和自減操作符19
1.3控制台輸入/輸出21
1.3.1使用cout輸出22
1.3.2輸出時的換行22
1.3.3格式化帶小數點的數字23
1.3.4用cerr輸出25
1.3.5用cin輸入25
1.4程式的風格27
注釋27
1.5庫與名字空間28
1.5.1庫及include命令28
1.5.2名字空間28
第2章流程控制34
2.1布爾表達式34
2.1.1創建布爾表達式34
2.1.2布爾表達式求值36
2.1.3優先權原則37
2.2分支機制41
2.2.1ifelse語句41
2.2.2複合語句43
2.2.3省略else45
2.2.4嵌套語句45
2.2.5多分支ifelse語句46
2.2.6switch語句47
2.2.7枚舉類型50
2.2.8條件操作符50
2.3循環51
2.3.1while和dowhile語句51
2.3.2再談增量、減量操作符54
2.3.3逗號操作符56
2.3.4for語句57
2.3.5break與continue語句63
2.3.6嵌套循環66
第3章函式基礎72
3.1預定義的函式72
3.1.1返回值的預定義函式72
3.1.2預定義的void函式76
3.1.3隨機數生成器78
3.2程式設計師定義的函式81
3.2.1定義返回值的函式81
3.2.2函式聲明的替代形式84
3.2.3調用函式的函式84
3.2.4返回布爾值的函式87
3.2.5定義void函式88
3.2.6void函式中的return語句89
3.2.7前提條件和執行結果91
3.2.8main函式91
3.2.9遞歸函式92
3.3作用域規則93
3.3.1局部變數93
3.3.2過程抽象95
3.3.3全局常量與全局變數96
3.3.4語句塊98
3.3.5嵌套作用域99
3.3.6for循環中聲明的變數99
第4章參數與重載106
4.1參數106
4.1.1傳值調用參數106
4.1.2引用調用參數初步108
4.1.3引用調用機制詳解111
4.1.4常量引用參數113
4.1.5混合參數列表114
4.2重載與默認實參121
4.2.1重載簡介121
4.2.2分辨重載的準則125
4.2.3默認實參128
4.3測試及調試函式130
4.3.1assert宏130
4.3.2占位程式和驅動程式131
第5章數組138
5.1數組簡介138
5.1.1數組的聲明和引用138
5.1.2記憶體中的數組142
5.1.3數組的初始化144
5.2函式中的數組146
5.2.1作為函式實參的索引變數146
5.2.2整個數組作為函式實參147
5.2.3const參數修飾詞150
5.2.4返回一個數組的函式152
5.3用數組編程157
部分填充的數組157
5.4多維數組167
5.4.1多維數組基礎167
5.4.2多維數組參數168
第6章結構和類182
6.1結構182
6.1.1結構類型184
6.1.2結構作為函式參數187
6.1.3結構的初始化190
6.2類193
6.2.1定義類和成員函式193
6.2.2封裝198
6.2.3公有和私有成員199
6.2.4取值和賦值函式202
6.2.5結構和類206
第7章構造函式及其他工具211
7.1構造函式211
7.1.1構造函式的定義211
7.1.2構造函式的顯式調用217
7.1.3類類型成員變數226
7.2其他工具229
7.2.1const參數修飾符229
7.2.2內聯函式235
7.2.3靜態成員236
7.2.4嵌套類和局部類定義240
7.3向量——標準模板庫預覽240
7.3.1向量基礎241
7.3.2效率問題244
第8章操作符重載、友元和引用249
8.1基本操作符重載249
8.1.1重載基礎249
8.1.2返回常量類型256
8.1.3重載一元操作符259
8.1.4作為成員函式的操作符重載260
8.1.5重載函式調用符()263
8.2友元函式和自動類型轉換263
8.2.1構造函式的自動類型轉換263
8.2.2友元函式265
8.2.3友元類269
8.3引用和其他操作符重載269
8.3.1引用270
8.3.2重載“<<”和“>>”271
8.3.3賦值操作符280
8.3.4重載自增和自減操作符280
8.3.5重載數組操作符[]283
8.3.6基於左值和右值的重載285
第9章字元串291
9.1數組類型的字元串291
9.1.1C字元串值和C字元串變數291
9.1.2庫中的其他函式296
9.1.3C字元串的輸入和輸出299
9.2字元操作工具301
9.2.1字元輸入/輸出301
9.2.2成員函式get和put302
9.2.3成員函式putback、peek和ignore307
9.2.4字元操作函式309
9.3標準string類312
9.3.1標準類string簡介312
9.3.2string類的輸入/輸出314
9.3.3使用string類進行字元串處理319
9.3.4string類對象和C字元串的相互轉換326
第10章指針和動態數組334
10.1指針334
10.1.1指針變數335
10.1.2記憶體管理基礎341
10.1.3動態變數和自動變數344
10.1.4指針的套用348
10.2動態數組348
10.2.1數組變數和指針變數348
10.2.2創建和使用動態數組350
10.2.3指針運算355
10.2.4多維動態數組356
10.3類、指針和動態數組358
10.3.1->操作符358
10.3.2this指針359
10.3.3重載賦值操作符360
10.3.4析構函式369
10.3.5複製構造函式370
第11章分散編譯和名字空間378
11.1分散編譯378
11.1.1封裝回顧378
11.1.2頭檔案和實現檔案379
11.1.3使用#ifndef388
11.2名字空間391
11.2.1名字空間和using命令391
11.2.2創建一個名字空間393
11.2.3using聲明396
11.2.4限定名字397
11.2.5未命名的名字空間401
11.2.6嵌套名字空間408
第12章流和檔案I/O操作415
12.1I/O流415
12.1.1檔案I/O416
12.1.2向檔案中添加內容419
12.1.3字元I/O425
12.1.4檔案末尾檢查425
12.2流I/O的工具429
12.2.1檔案名稱作為輸入429
12.2.2使用流函式對輸出格式化430
12.2.3操作運算元(Manipulators)433
12.2.4保存設定的標記434
12.2.5其他的輸出流成員函式434
12.3流的層次:繼承的簡要介紹441
12.4隨機檔案存取446
第13章遞歸455
13.1遞歸void函式455
13.1.1一個遞歸調用的跟蹤458
13.1.2遞歸的進一步認識460
13.1.3遞歸調用的棧463
13.1.4遞歸與疊代的比較464
13.2有返回值的遞歸函式466
有返回值的遞歸函式的一般形式466
13.3按遞歸的方式思考問題470
13.3.1遞歸設計技術470
13.3.2二分查找472
13.3.3編碼474
13.3.4檢查遞歸的正確性476
13.3.5效率477
第14章繼承486
14.1繼承基礎486
14.1.1派生類486
14.1.2派生類的構造函式495
14.1.3protected限定詞498
14.1.4成員函式的重定義501
14.1.5重定義與重載502
14.1.6訪問重定義函式的基類版本503
14.1.7不可繼承的函式504
14.2使用繼承進行編程505
14.2.1派生類中的賦值操作符和複製構造函式505
14.2.2派生類的析構函式506
14.2.3保護繼承和私有繼承518
14.2.4多繼承519
第15章多態與虛函式524
15.1虛函式基礎524
15.1.1後綁定524
15.1.2C++中的虛函式525
15.1.3抽象類和純虛函式532
15.2指針和虛函式535
15.2.1虛函式和擴展類型兼容性535
15.2.2向下轉換和向上轉換541
15.2.3C++是如何實現虛函式543
第16章模板546
16.1函式模板546
定義函式模板的語法547
16.2類模板558
16.2.1類模板的語法558
16.2.2C++中的模板類vector和basic_stirng568
16.3模板和繼承568
第17章鏈式數據結構579
17.1節點和鍊表579
17.1.1節點580
17.1.2鍊表584
17.1.3向鍊表頭插入一個節點585
17.1.4向鍊表中插入或移除節點589
17.1.5搜尋鍊表592
17.2鍊表的套用599
17.3疊代器611
17.3.1指針作為疊代器612
17.3.2疊代器類612
17.4樹619
樹的性質619
第18章異常處理636
18.1異常處理基礎636
18.1.1異常處理的一個樣例637
18.1.2自定義異常類644
18.1.3多重拋出和捕獲646
18.1.4在函式中拋出異常649
18.1.5異常說明651
182異常處理的編程技術654
18.2.1拋出異常的時機654
18.2.2異常類的層次結構656
18.2.3測試可用記憶體657
18.2.4再次拋出異常657
第19章標準模板庫660
19.1疊代器661
19.1.1疊代器基礎661
19.1.2疊代器的種類665
19.1.3常量和可變疊代器669
19.1.4反向疊代器670
19.1.5其他幾種疊代器672
19.2容器673
19.2.1連續容器673
19.2.2容器適配器棧和佇列678
19.2.3關聯容器集合和映射681
19.2.4效率685
19.3泛型算法685
19.3.1運行時間和BigO記法686
19.3.2容器訪問運行時間689
19.3.3不改變序列的算法690
19.3.4改變序列的算法694
19.3.5集合算法695
19.3.6排序算法697
第20章模式和UML703
20.1模式703
20.1.1適配器模式704
20.1.2模型視圖控制器模式704
20.1.3排序模式的效率710
20.1.4模式形式體系712
20.2UML713
20.2.1UML的歷史713
20.2.2UML的類圖表714
20.2.3類的相互作用714
附錄1C++關鍵字718
附錄2操作符優先權719
附錄3ASCII字元集721
附錄4一些庫函式722
附錄5舊的和新的頭檔案728

相關詞條

熱門詞條

聯絡我們