圖書詳細信息
ISBN:9787302385059
定價:99.8元
印次:1-1
裝幀:平裝
印刷日期:2014-12-2
圖書簡介
著名編程圖書作家Ivor Horton引導學習Visual C++ 2013這本最新的C++語言暢銷書遵循Ivor Horton一貫的暢銷風格。Horton非常詳盡地介紹了標準C++語言和Visual C++。
整本書都根據Visual C++ 2013進行了更新,展示了如何使用Visual C++建立實用的應用程式。閱讀本書不需要任何編程經驗。作者使用大量循序漸進的編程示例,引導讀者掌握C++開發的全部奧秘。
目錄
第1章使用VisualC++編程 1
1.1使用VisualC++學習 1
1.2編寫C++應用程式 2
1.3學習桌面應用程式的編程 2
1.3.1學習C++ 3
1.3.2C++概念 3
1.3.3控制台應用程式 4
1.3.4Windows編程概念 4
1.4集成開發環境簡介 6
1.4.1編輯器 6
1.4.2編譯器 6
1.4.3連結器 6
1.4.4庫 7
1.4.5標準C++庫 7
1.4.6Microsoft庫 7
1.5使用IDE 7
1.5.1工具列選項 8
1.5.2可停靠的工具列 9
1.5.3文檔 9
1.5.4項目和解決方案 9
1.5.5設定VisualC++的選項 16
1.5.6創建和執行Windows應用程式 17
1.6小結 19
1.7本章主要內容 19
第2章數據、變數和計算 21
2.1C++程式結構 21
2.1.1main()函式 28
2.1.2程式語句 28
2.1.3空白 30
2.1.4語句塊 30
2.1.5自動生成的控制台程式 30
2.2定義變數 32
2.2.1命名變數 32
2.2.2關鍵字 32
2.2.3聲明變數 33
2.2.4變數的初始值 33
2.3基本數據類型 34
2.3.1整型變數 34
2.3.2字元數據類型 35
2.3.3整型修飾符 36
2.3.4布爾類型 36
2.3.5浮點類型 37
2.3.6C++中的基本類型 37
2.3.7字面值 38
2.3.8定義類型的別名 39
2.4基本的輸入/輸出操作 40
2.4.1從鍵盤輸入 40
2.4.2到命令行的輸出 40
2.4.3格式化輸出 41
2.4.4轉義序列 42
2.5C++中的計算 44
2.5.1賦值語句 44
2.5.2算術運算 44
2.5.3計算餘數 49
2.5.4修改變數 49
2.5.5增量和減量運算符 50
2.5.6計算的順序 52
2.6類型轉換和類型強制轉換 53
2.6.1賦值語句中的類型轉換 54
2.6.2顯式類型轉換 54
2.6.3老式的類型強制轉換 55
2.7auto關鍵字 55
2.8類型的確定 56
2.9按位運算符 56
2.9.1按位AND運算符 57
2.9.2按位OR運算符 58
2.9.3按位XOR運算符 59
2.9.4按位NOT運算符 60
2.9.5移位運算符 60
2.10lvalue和rvalue 61
2.11了解存儲時間和作用域 62
2.11.1自動變數 62
2.11.2決定變數聲明的位置 65
2.11.3全局變數 65
2.11.4靜態變數 68
2.12具有特定值集的變數 68
2.12.1舊枚舉 68
2.12.2類型安全的枚舉 70
2.13名稱空間 72
2.13.1聲明名稱空間 73
2.13.2多個名稱空間 74
2.14小結 75
2.15練習 75
2.16本章主要內容 76
第3章判斷和循環 79
3.1比較數據值 79
3.1.1if語句 80
3.1.2嵌套的if語句 81
3.1.3嵌套的if-else語句 85
3.1.4邏輯運算符和表達式 87
3.1.5條件運算符 89
3.1.6switch語句 91
3.1.7無條件轉移 94
3.2重複執行語句塊 95
3.2.1循環的概念 95
3.2.2for循環的變體 98
3.2.3while循環 105
3.2.4do-while循環 107
3.2.5基於範圍的循環 108
3.2.6嵌套的循環 108
3.3小結 111
3.4練習 111
3.5本章主要內容 111
第4章數組、字元串和指針 113
4.1處理多個相同類型的數據值 113
4.1.1數組 114
4.1.2聲明數組 114
4.1.3初始化數組 117
4.1.4使用基於範圍的for循環 118
4.1.5多維數組 119
4.2處理C樣式的字元串 123
4.2.1字元串輸入 124
4.2.2字元串字面量 125
4.2.3給字元串使用基於範圍的
for循環 126
4.3間接數據訪問 128
4.3.1指針的概念 128
4.3.2聲明指針 128
4.3.3使用指針 129
4.3.4初始化指針 130
4.3.5指向char類型的指針 132
4.3.6sizeof操作符 136
4.3.7常量指針和指向常量的指針 136
4.3.8指針和數組 138
4.4動態記憶體分配 144
4.4.1堆的別名——空閒存儲器 144
4.4.2new和delete操作符 145
4.4.3為數組動態分配記憶體 146
4.4.4多維數組的動態分配 148
4.5使用引用 149
4.5.1引用的概念 149
4.5.2聲明並初始化lvalue引用 149
4.5.3在基於範圍的for循環中
使用引用 150
4.5.4創建rvalue引用 151
4.6字元串的庫函式 151
4.6.1確定以空字元結尾的字元串的長度 152
4.6.2連線以空字元結尾的字元串 152
4.6.3複製以空字元結尾的字元串 153
4.6.4比較以空字元結尾的字元串 154
4.6.5搜尋以空字元結尾的字元串 154
4.7小結 156
4.8練習 156
4.9本章主要內容 157
第5章程式結構(1) 159
5.1理解函式 159
5.1.1需要函式的原因 160
5.1.2函式的結構 161
5.1.3替代的函式語法 163
5.1.4使用函式 163
5.2給函式傳遞實參 166
5.2.1按值傳遞機制 167
5.2.2給函式傳遞指針實參 168
5.2.3給函式傳遞數組 169
5.2.4給函式傳遞引用實參 173
5.2.5使用const修飾符 175
5.2.6rvalue引用形參 176
5.2.7main()函式的實參 178
5.2.8接受數量不定的函式實參 179
5.3從函式返回值 181
5.3.1返回指針 181
5.3.2返回引用 184
5.3.3函式中的靜態變數 186
5.4遞歸函式調用 188
5.5小結 191
5.6練習 191
5.7本章主要內容 192
第6章程式結構(2) 193
6.1函式指針 193
6.1.1聲明函式指針 194
6.1.2函式指針作為實參 196
6.1.3函式指針的數組 198
6.2初始化函式形參 198
6.3異常 200
6.3.1拋出異常 202
6.3.2捕獲異常 202
6.3.3重新拋出異常 204
6.3.4MFC中的異常處理 204
6.4處理記憶體分配錯誤 205
6.5函式重載 206
6.5.1函式重載的概念 207
6.5.2引用類型和重載選擇 209
6.5.3何時重載函式 210
6.6函式模板 210
6.7使用decltype操作符 212
6.8使用函式的示例 215
6.8.1實現計算器 215
6.8.2從字元串中刪除空格 217
6.8.3計算表達式的值 218
6.8.4獲得項值 220
6.8.5分析數 221
6.8.6整合程式 224
6.8.7擴展程式 225
6.8.8提取子字元串 227
6.8.9運行修改過的程式 229
6.9小結 229
6.10練習 229
6.11本章主要內容 230
第7章自定義數據類型 233
7.1C++中的結構 233
7.1.1結構的概念 234
7.1.2定義結構 234
7.1.3初始化結構 234
7.1.4訪問結構的成員 235
7.1.5伴隨結構的智慧型感知幫助 238
7.1.6RECT結構 239
7.1.7使用指針處理結構 240
7.2數據類型、對象、類和實例 241
7.2.1類的起源 243
7.2.2類的操作 243
7.2.3術語 244
7.3理解類 244
7.3.1定義類 244
7.3.2聲明類的對象 245
7.3.3訪問類的數據成員 245
7.3.4對象成員的初始化 247
7.3.5初始化類成員 248
7.3.6類的成員函式 248
7.3.7在類的外部定義成員函式 250
7.3.8內聯函式 251
7.4類構造函式 252
7.4.1構造函式的概念 252
7.4.2默認的構造函式 254
7.4.3默認的形參值 256
7.4.4在構造函式中使用初始化
列表 258
7.4.5聲明顯式的構造函式 259
7.4.6委託構造函式 260
7.5類的私有成員 260
7.5.1訪問私有類成員 263
7.5.2類的友元函式 263
7.5.3默認複製構造函式 266
7.6this指針 267
7.7類的const對象 269
7.7.1類的const成員函式 270
7.7.2類外部的成員函式定義 271
7.8類對象的數組 271
7.9類的靜態成員 273
7.9.1類的靜態數據成員 273
7.9.2類的靜態函式成員 276
7.10類對象的指針和引用 277
7.10.1類對象的指針 277
7.10.2類對象的引用 279
7.11小結 280
7.12練習 280
7.13本章主要內容 281
第8章深入理解類 283
8.1類析構函式 283
8.1.1析構函式的概念 284
8.1.2默認的析構函式 284
8.1.3析構函式與動態記憶體分配 286
8.2實現複製構造函式 289
8.3運算符重載 291
8.3.1實現重載的運算符 291
8.3.2實現對比較運算符的
完全支持 294
8.3.3重載賦值運算符 298
8.3.4重載加法運算符 303
8.3.5重載遞增和遞減運算符 307
8.3.6重載函式調用操作符 308
8.4對象複製問題 309
8.4.1避免不必要的複製操作 309
8.4.2套用rvalue引用形參 312
8.4.3命名的對象是lvalue 314
8.5默認的類成員 319
8.6類模板 320
8.6.1定義類模板 320
8.6.2根據類模板創建對象 323
8.6.3有多個形參的類模板 326
8.6.4函式對象模板 328
8.7完美轉發 329
8.8模板形參的默認實參 332
8.8.1函式模板的默認實參 332
8.8.2類模板的默認實參 333
8.9類模板的別名 337
8.10模板特例 337
8.11使用類 341
8.11.1類接口的概念 341
8.11.2定義問題 341
8.11.3實現CBox類 341
8.12組織程式代碼 358
8.13字元串的庫類 359
8.13.1創建字元串對象 359
8.13.2連線字元串 361
8.13.3訪問與修改字元串 364
8.13.4比較字元串 367
8.13.5搜尋字元串 370
8.14小結 378
8.15練習 378
8.16本章主要內容 379
第9章類繼承和虛函式 381
9.1面向對象編程的基本思想 381
9.2類的繼承 382
9.2.1基類的概念 383
9.2.2基類的派生類 383
9.3繼承機制下的訪問控制 386
9.3.1派生類中構造函式的操作 389
9.3.2聲明類的保護成員 392
9.3.3繼承類成員的訪問級別 395
9.4派生類中的複製構造函式 396
9.5禁止派生類 399
9.6友元類成員 399
9.6.1友元類 401
9.6.2對類友元關係的限制 401
9.7虛函式 401
9.7.1虛函式的概念 403
9.7.2確保虛函式的正確執行 405
9.7.3禁止重寫函式 406
9.7.4使用指向類對象的指針 406
9.7.5使用引用處理虛函式 408
9.7.6純虛函式 408
9.7.7抽象類 409
9.7.8間接基類 411
9.7.9虛析構函式 413
9.8類類型之間的強制轉換 416
9.8.1定義轉換運算符 417
9.8.2顯式類型轉換運算符 417
9.9嵌套類 417
9.10小結 421
9.11練習 421
9.12本章主要內容 423
第10章標準模板庫 425
10.1標準模板庫的定義 425
10.1.1容器 426
10.1.2容器適配器 428
10.1.3疊代器 428
10.2智慧型指針 430
10.3算法 433
10.4STL中的函式對象 433
10.5STL容器範圍 434
10.6序列容器 434
10.6.1創建矢量容器 435
10.6.2矢量容器的容量和大小 438
10.6.3訪問矢量中的元素 442
10.6.4在矢量中插入和
刪除元素 443
10.6.5在矢量中存儲類對象 446
10.6.6矢量元素的排序 451
10.6.7存儲矢量中的指針 452
10.6.8雙端佇列容器 457
10.6.9使用列表容器 460
10.6.10使用forward_list容器 469
10.6.11使用其他序列容器 471
10.6.12tuple<>類模板 480
10.7關聯容器 483
10.7.1使用映射容器 483
10.7.2使用多重映射容器 494
10.8關於疊代器的更多內容 495
10.8.1使用輸入流疊代器 495
10.8.2使用插入疊代器 498
10.8.3使用輸出流疊代器 500
10.9關於函式對象的更多內容 502
10.10關於算法的更多內容 503
10.11類型特質和靜態斷言 505
10.12λ表達式 506
10.12.1capture子句 507
10.12.2捕獲特定的變數 508
10.12.3模板和λ表達式 508
10.12.4命名λ表達式 512
10.13小結 514
10.14練習 515
10.15本章主要內容 515
第11章Windows編程的概念 517
11.1Windows編程基礎 517
11.1.1視窗的元素 518
11.1.2Windows程式與
作業系統 519
11.1.3事件驅動型程式 519
11.1.4Windows訊息 520
11.1.5WindowsAPI 520
11.1.6Windows數據類型 521
11.1.7Windows程式中的符號 521
11.2Windows程式的結構 522
11.2.1WinMain()函式 523
11.2.2處理Windows訊息 533
11.3MFC 538
11.3.1MFC表示法 539
11.3.2MFC程式的組織方式 539
11.4小結 543
11.5本章主要內容 543
第12章使用MFC編寫Windows程式 545
12.1MFC的文檔/視圖概念 545
12.1.1文檔的概念 545
12.1.2文檔界面 546
12.1.3視圖的概念 546
12.1.4連結文檔和視圖 547
12.1.5應用程式和MFC 548
12.2創建MFC應用程式 549
12.2.1創建SDI應用程式 550
12.2.2MFCApplicationWizard
的輸出 554
12.2.3創建MDI應用程式 563
12.3小結 565
12.4練習 565
12.5本章主要內容 565
第13章處理選單和工具列 567
13.1與Windows通信 567
13.1.1了解訊息映射 568
13.1.2訊息類別 570
13.1.3處理程式中的訊息 570
13.2擴展Sketcher程式 571
13.3選單的元素 572
13.4為選單訊息添加處理程式 575
13.4.1選擇處理選單訊息的類 576
13.4.2創建選單訊息函式 576
13.4.3編寫選單訊息函式的
代碼 578
13.4.4添加更新選單訊息的
處理程式 581
13.5添加工具列按鈕 584
13.5.1編輯工具列按鈕的屬性 585
13.5.2練習使用工具列按鈕 586
13.5.3添加工具提示 586
13.6小結 587
13.7練習 587
13.8本章主要內容 587
第14章在視窗中繪圖 589
14.1視窗繪圖的基礎知識 589
14.1.1視窗客戶區 589
14.1.2Windows圖形設備界面 590
14.2MFC的繪圖機制 592
14.2.1應用程式中的視圖類 592
14.2.2CDC類 593
14.3實際繪製圖形 601
14.4對滑鼠進行編程 603
14.4.1滑鼠發出的訊息 603
14.4.2滑鼠訊息處理程式 604
14.4.3使用滑鼠繪圖 606
14.5繪製草圖 627
14.5.1運行示例 628
14.5.2捕獲滑鼠訊息 629
14.6小結 630
14.7練習題 630
14.8本章主要內容 631
第15章改進視圖 633
15.1Sketcher應用程式的缺陷 633
15.2改進視圖 634
15.2.1更新多個視圖 634
15.2.2滾動視圖 635
15.2.3使用MM_LOENGLISH
映射模式 640
15.3刪除和移動元素 640
15.4實現上下文選單 641
15.4.1關聯選單和類 642
15.4.2選中上下文選單項 643
15.5標識位於游標下的元素 644
15.5.1練習彈出選單 645
15.5.2突出顯示元素 645
15.5.3實現移動和刪除功能 649
15.6處理禁止的元素 655
15.7小結 657
15.8練習 657
15.9本章主要內容 657
第16章使用對話框和控制項 659
16.1理解對話框 659
16.2理解控制項 660
16.3創建對話框資源 660
16.3.1給對話框添加控制項 661
16.3.2測試對話框 662
16.4對話框的編程 662
16.4.1添加對話框類 662
16.4.2模態和非模態對話框 664
16.4.3顯示對話框 664
16.5支持對話框控制項 666
16.5.1初始化對話框控制項 667
16.5.2處理單選按鈕訊息 668
16.6完成對話框的操作 668
16.6.1給文檔添加線寬 669
16.6.2給元素添加線寬 669
16.6.3在視圖中創建元素 671
16.6.4練習使用對話框 672
16.7使用微調按鈕控制項 673
16.7.1添加Scale選單項和
工具列按鈕 673
16.7.2創建微調按鈕 673
16.7.3生成比例對話框類 674
16.7.4顯示微調按鈕 677
16.8使用縮放比例 678
16.8.1可縮放的映射模式 678
16.8.2設定文檔的大小 679
16.8.3設定映射模式 680
16.8.4同時實現滾動與縮放 681
16.9使用狀態欄 683
16.9.1給框架視窗添加狀態欄 683
16.9.2CString類 687
16.10使用編輯框控制項 688
16.10.1創建編輯框資源 688
16.10.2創建對話框類 689
16.10.3添加Text選單項 690
16.10.4定義文本元素 691
16.10.5實現CText類 691
16.11小結 696
16.12練習 696
16.13本章主要內容 696
第17章存儲和列印文檔 697
17.1了解序列化 697
17.2序列化文檔 698
17.2.1文檔類定義中的序列化 698
17.2.2文檔類實現中的序列化 699
17.2.3基於CObject的類的
功能 701
17.2.4序列化的工作方式 702
17.2.5如何實現類的序列化 703
17.3套用序列化 704
17.3.1記錄文檔修改 704
17.3.2序列化文檔 706
17.3.3序列化元素類 707
17.4練習序列化 711
17.5列印文檔 713
17.6實現多頁列印 716
17.6.1獲取文檔的總尺寸 716
17.6.2存儲列印數據 717
17.6.3準備列印 718
17.6.4列印後的清除 719
17.6.5準備設備上下文 719
17.6.6列印文檔 720
17.6.7獲得文檔的列印輸出 724
17.7小結 724
17.8練習 724
17.9本章主要內容 725
第18章編寫Windows8應用程式 727
18.1WindowsStore應用程式 727
18.2開發WindowsStore應用程式 728
18.3WindowsRuntime的概念 729
18.3.1WinRT名稱空間 729
18.3.2WinRT對象 730
18.4C++/CX 730
18.4.1C++/CX名稱空間 730
18.4.2定義WinRT類類型 731
18.4.3ref類類型的變數 733
18.4.4訪問ref類對象的成員 734
18.4.5事件處理程式 734
18.4.6轉換ref類引用的類型 735
18.5XAML 735
18.5.1XAML元素 735
18.5.2XAML中的UI元素 737
18.5.3附加屬性 739
18.5.4父元素和子元素 740
18.5.5控制項元素 740
18.5.6布局元素 740
18.5.7處理UI元素的事件 741
18.6創建WindowsStore應用程式 742
18.6.1應用程式檔案 742
18.6.2定義用戶界面 742
18.6.3創建標題 745
18.6.4添加遊戲控制項 746
18.6.5創建包含紙牌的格線 748
18.6.6實現遊戲的操作 752
18.6.7初始化MainPage對象 755
18.6.8初始化一副紙牌 756
18.6.9建立cardGrid的子元素 757
18.6.10初始化遊戲 758
18.6.11洗牌 760
18.6.12突出顯示UI紙牌 761
18.6.13處理翻牌事件 762
18.6.14處理圖形事件 764
18.6.15確認贏家 765
18.6.16處理遊戲控制項的按鈕事件 766
18.7縮放UI元素 768
18.8平移 770
18.8.1應用程式的啟動動畫 770
18.8.2故事板動畫 771
18.9小結 773
18.10本章主要內容 773