Visual C++ 2010入門經典(第5版)

Visual C++ 2010入門經典(第5版)

《Visual C++ 2010入門經典(第5版)》是2010年清華大學出版社出版的一本圖書,作者是Ivor Horton。

基本介紹

  • 書名:Visual C++ 2010入門經典(第5版) 
  • 作者:Ivor Horton
  • 原版名稱:Ivor Horton's Beginning Visual C++ 2010
  • 譯者:蘇正泉 李文娟
  • ISBN:9787302239994
  • 出版社:清華大學出版社
  • 出版時間:2010年12月
內容簡介,目錄,

內容簡介

作者ivor horton採用了容易理解的講授方法,並提供了詳盡的示例,幫助讀者迅速地成為一名優秀的c++編程人員。《visual c++ 2010入門經典(第5版)》針對visual c++ 2010版本進行了全面更新,介紹了最新的開發環境和如何使用visual c++構建現實世界中的應用程式。擁有本書,您就邁向了通往使用兩種c++版本編寫應用程式的成功之路,並成為一名優秀的c++編程人員。

目錄

第1章 使用visual c++ 2010編程 1
1.1 .net framework 1
1.2 clr 2
1.3 編寫c++應用程式 3
1.4 學習windows編程 4
1.4.1學習c++ 4
1.4.2 c++標準 5
1.4.3屬性 5
1.4.4控制台應用程式 5
1.4.5 windows編程概念 6
1.5 集成開發環境簡介 7
1.5.1編輯器 8
1.5.2編譯器 8
1.5.3連結器 8
1.5.4庫 8
1.6 使用ide 8
1.6.1工具列選項 9
1.6.2可停靠的工具列 10
1.6.3文檔 11
1.6.4項目和解決方案 11
.1.6.5 設定visual c++ 2010的選項 23
1.6.6創建和執行windows應用程式 23
1.6.7創建windows forms應用程式 26
1.7 小結 27
1.8 本章主要內容 28
第2章 數據、變數和計算 29
2.1 c++程式結構 29
2.1.1 main()函式 36
2.1.2程式語句 36
2.1.3空白 38
2.1.4語句塊 38
2.1.5自動生成的控制台程式 39
2.2 定義變數 40
2.2.1命名變數 40
2.2.2聲明變數 41
2.2.3變數的初始值 42
2.3 基本數據類型 42
2.3.1整型變數 43
2.3.2字元數據類型 44
2.3.3整型修飾符 45
2.3.4布爾類型 46
2.3.5浮點類型 46
2.3.6字面值 47
2.3.7定義數據類型的同義詞 48
2.3.8具有特定值集的變數 49
2.4 基本的輸入/輸出操作 50
2.4.1從鍵盤輸入 50
2.4.2到命令行的輸出 50
2.4.3格式化輸出 51
2.4.4轉義序列 52
2.5 c++中的計算 54
2.5.1賦值語句 54
2.5.2算術運算 55
2.5.3計算餘數 59
2.5.4修改變數 60
2.5.5增量和減量運算符 60
2.5.6計算的順序 63
2.6 類型轉換和類型強制轉換 64
2.6.1賦值語句中的類型轉換 65
2.6.2顯式類型轉換 65
2.6.3老式的類型強制轉換 66
2.7 auto關鍵字 66
2.8 查看類型 67
2.9 按位運算符 67
2.9.1按位and運算符 68
2.9.2按位or運算符 69
2.9.3按位eor運算符 71
2.9.4按位not運算符 71
2.9.5移位運算符 71
2.10 lvalue和rvalue 73
2.11 了解存儲時間和作用域 74
2.11.1自動變數 74
2.11.2決定變數聲明的位置 76
2.11.3全局變數 77
2.11.4靜態變數 80
2.12 名稱空間 80
2.12.1聲明名稱空間 81
2.12.2多個名稱空間 82
2.13 c++/cli編程 84
2.13.1 c++/cli特有的基本數據類型 84
2.13.2命令行上的c++/cli輸出 87
2.13.3 c++/cli特有的功能—— 格式化輸出 88
2.13.4 c++/cli的鍵盤輸入 91
2.13.5使用safe_cast 92
2.13.6 c++/cli枚舉 92
2.14 查看c++/cli類型 96
2.15 小結 97
2.16 練習 97
2.17 本章主要內容 98
第3章 判斷和循環 101
3.1 比較數據值 101
3.1.1 if語句 102
3.1.2嵌套的if語句 104
3.1.3嵌套的if-else語句 107
3.1.4邏輯運算符和表達式 109
3.1.5條件運算符 112
3.1.6 switch語句 113
3.1.7無條件轉移 116
3.2 重複執行語句塊 117
3.2.1循環的概念 117
3.2.2 for循環的變體 119
3.2.3 while循環 126
3.2.4 do-while循環 128
3.2.5嵌套的循環 129
3.3 c++/cli編程 132
3.4 小結 137
3.5 練習 138
3.6 本章主要內容 138
第4章 數組、字元串和指針 139
4.1 處理多個相同類型的數據值 139
4.1.1數組 140
4.1.2聲明數組 140
4.1.3初始化數組 143
4.1.4字元數組和字元串處理 144
4.1.5多維數組 147
4.2 間接數據訪問 150
4.2.1指針的概念 150
4.2.2聲明指針 150
4.2.3使用指針 152
4.2.4初始化指針 152
4.2.5 sizeof操作符 158
4.2.6常量指針和指向常量的指針 159
4.2.7指針和數組 161
4.3 動態記憶體分配 168
4.3.1堆的別名—— 空閒存儲器 168
4.3.2 new和delete操作符 168
4.3.3為數組動態分配記憶體 169
4.3.4多維數組的動態分配 171
4.4 使用引用 172
4.4.1引用的概念 172
4.4.2聲明並初始化lvalue引用 172
4.4.3聲明並初始化rvalue引用 173
4.5 字元串的本地c++庫函式 174
4.5.1查找以空字元結尾的字元串的長度 174
4.5.2連線以空字元結尾的字元串 174
4.5.3複製以空字元結尾的字元串 176
4.5.4比較以空字元結尾的字元串 177
4.5.5搜尋以空字元結尾的字元串 177
4.6 c++/cli編程 179
4.6.1跟蹤句柄 180
4.6.2 clr數組 181
4.6.3字元串 195
4.6.4跟蹤引用 203
4.6.5內部指針 204
4.7 小結 206
4.8 練習 206
4.9 本章主要內容 207
第5章 程式結構(1) 209
5.1 理解函式 209
5.1.1需要函式的原因 210
5.1.2函式的結構 210
5.1.3使用函式 213
5.2 給函式傳遞實參 216
5.2.1按值傳遞機制 216
5.2.2給函式傳遞指針實參 217
5.2.3給函式傳遞數組 219
5.2.4給函式傳遞引用實參 222
5.2.5使用const修飾符 224
5.2.6 rvalue引用形參 225
5.2.7 main()函式的實參 227
5.2.8接受數量不定的函式實參 229
5.3 從函式返回值 231
5.3.1返回指針 231
5.3.2返回引用 233
5.3.3函式中的靜態變數 236
5.4 遞歸函式調用 238
5.5 c++/cli編程 240
5.5.1接受數量可變實參的函式 241
5.5.2 main( )的實參 242
5.6 小結 243
5.7 練習 243
5.8 本章主要內容 244
第6章 程式結構(2) 245
6.1 函式指針 245
6.1.1聲明函式指針 246
6.1.2函式指針作為實參 249
6.1.3函式指針的數組 250
6.2 初始化函式形參 250
6.3 異常 252
6.3.1拋出異常 253
6.3.2捕獲異常 254
6.3.3 mfc中的異常處理 255
6.4 處理記憶體分配錯誤 256
6.5 函式重載 257
6.5.1函式重載的概念 258
6.5.2引用類型和重載選擇 260
6.5.3何時重載函式 260
6.6 函式模板 261
6.7 使用decltype操作符 263
6.8 使用函式的示例 265
6.8.1實現計算器 265
6.8.2從字元串中刪除空格 268
6.8.3計算表達式的值 268
6.8.4獲得項值 270
6.8.5分析數 271
6.8.6整合程式 274
6.8.7擴展程式 275
6.8.8提取子字元串 277
6.8.9運行修改過的程式 279
6.9 c++/cli編程 279
6.9.1理解泛型函式 280
6.9.2 clr版本的計算器程式 285
6.10 小結 290
6.11 練習 291
6.12 本章主要內容 292
第7章 自定義數據類型 293
7.1 c++中的結構 293
7.1.1結構的概念 294
7.1.2定義結構 294
7.1.3初始化結構 294
7.1.4訪問結構的成員 295
7.1.5伴隨結構的智慧型感知幫助 298
7.1.6 rect結構 299
7.1.7使用指針處理結構 300
7.2 數據類型、對象、類和實例 301
7.2.1類的起源 303
7.2.2類的操作 303
7.2.3術語 303
7.3 理解類 304
7.3.1定義類 304
7.3.2聲明類的對象 305
7.3.3訪問類的數據成員 305
7.3.4類的成員函式 307
7.3.5成員函式定義的位置 309
7.3.6內聯函式 309
7.4 類構造函式 310
7.4.1構造函式的概念 311
7.4.2默認的構造函式 312
7.4.3在類定義中指定默認的形參值 314
7.4.4在構造函式中使用初始化列表 316
7.4.5聲明顯式的構造函式 317
7.5 類的私有成員 318
7.5.1訪問私有類成員 320
7.5.2類的友元函式 321
7.5.3默認複製構造函式 323
7.6 this指針 325
7.7 類的const對象 327
7.7.1類的const成員函式 327
7.7.2類外部的成員函式定義 328
7.8 類對象的數組 329
7.9 類的靜態成員 331
7.9.1類的靜態數據成員 331
7.9.2類的靜態函式成員 334
7.10 類對象的指針和引用 334
7.10.1類對象的指針 334
7.10.2類對象的引用 337
7.11 c++/cli編程 338
7.11.1定義值類類型 339
7.11.2定義引用類類型 344
7.11.3定義引用類類型的複製構造函式 346
7.11.4類屬性 346
7.11.5 initonly欄位 358
7.11.6靜態構造函式 360
7.12 小結 360
7.13 練習 360
7.14 本章主要內容 361
第8章 深入理解類 363
8.1 類析構函式 363
8.1.1析構函式的概念 363
8.1.2默認的析構函式 364
8.1.3析構函式與動態記憶體分配 366
8.2 實現複製構造函式 369
8.3 在變數之間共享記憶體 370
8.3.1定義联合 371
8.3.2匿名聯合 372
8.3.3類和結構中的聯合 372
8.4 運算符重載 373
8.4.1實現重載的運算符 373
8.4.2實現對比較運算符的完全支持 376
8.4.3重載賦值運算符 379
8.4.4重載加法運算符 384
8.4.5重載遞增和遞減運算符 387
8.4.6重載函式調用操作符 388
8.5 對象複製問題 389
8.5.1避免不必要的複製操作 389
8.5.2套用rvalue引用形參 392
8.5.3命名的對象是lvalue 394
8.6 類模板 399
8.6.1定義類模板 400
8.6.2根據類模板創建對象 402
8.6.3使用有多個形參的類模板 405
8.6.4函式對象模板 406
8.7 使用類 407
8.7.1類接口的概念 407
8.7.2定義問題 407
8.7.3實現cbox類 408
8.8 組織程式代碼 425
8.9 字元串的本地c++庫類 427
8.9.1創建字元串對象 427
8.9.2連線字元串 429
8.9.3訪問與修改字元串 432
8.9.4比較字元串 436
8.9.5搜尋字元串 439
8.10 c++/cli編程 447
8.10.1在值類中重載運算符 447
8.10.2重載遞增和遞減運算符 452
8.10.3在引用類中重載運算符 453
8.10.4實現引用類型的賦值運算符 455
8.11 小結 456
8.12 練習 456
8.13 本章主要內容 457
第9章 類繼承和虛函式 459
9.1 面向對象編程的基本思想 459
9.2 類的繼承 460
9.2.1基類的概念 461
9.2.2基類的派生類 461
9.3 繼承機制下的訪問控制 464
9.3.1派生類中構造函式的操作 467
9.3.2聲明類的保護成員 470
9.3.3繼承類成員的訪問級別 473
9.4 派生類中的複製構造函式 474
9.5 友元類成員 477
9.5.1友元類 479
9.5.2對類友元關係的限制 479
9.6 虛函式 479
9.6.1虛函式的概念 481
9.6.2使用指向類對象的指針 483
9.6.3使用引用處理虛函式 485
9.6.4純虛函式 486
9.6.5抽象類 487
9.6.6間接基類 489
9.6.7虛析構函式 491
9.7 類類型之間的強制轉換 494
9.8 嵌套類 495
9.9 c++/cli編程 498
9.9.1裝箱與拆箱 499
9.9.2 c++/cli類的繼承 499
9.9.3接口類 505
9.9.4定義接口類 505
9.9.5類和程式集 509
9.9.6被指定為new的函式 513
9.9.7委託和事件 514
9.9.8引用類的析構函式和終結器 525
9.9.9泛型類 527
9.10 小結 536
9.11 練習 536
9.12 本章主要內容 539
第10章 標準模板庫 541
10.1 標準模板庫的定義 541
10.1.1容器 542
10.1.2容器適配器 542
10.1.3疊代器 543
10.1.4算法 544
10.1.5 stl中的函式對象 545
10.1.6函式適配器 545
10.2 stl容器範圍 545
10.3 序列容器 545
10.3.1創建矢量容器 546
10.3.2矢量容器的容量和大小 549
10.3.3訪問矢量中的元素 553
10.3.4在矢量中插入和刪除元素 553
10.3.5在矢量中存儲類對象 555
10.3.6排序矢量元素 559
10.3.7排序矢量中的指針 560
10.3.8雙端佇列容器 562
10.3.9使用列表容器 565
10.3.10使用其他序列容器 574
10.4 關聯容器 588
10.4.1使用映射容器 589
10.4.2使用多重映射容器 600
10.5 關於疊代器的更多內容 600
10.5.1使用輸入流疊代器 601
10.5.2使用插入疊代器 604
10.5.3使用輸出流疊代器 605
10.6 關於函式對象的更多內容 607
10.7 關於算法的更多內容 608
10.7.1 fill() 608
10.7.2 replace() 609
10.7.3 find() 609
10.7.4 transform() 610
10.8 lambda表達式 611
10.8.1 capture子句 612
10.8.2捕獲特定的變數 613
10.8.3模板和lambda表達式 613
10.8.4包裝lambda表達式 617
10.9 c++/cli程式的stl 618
10.9.1 stl/clr容器 619
10.9.2使用序列容器 619
10.9.3使用關聯容器 627
10.10 c++/cli中的lambda表達式 633
10.11 小結 633
10.12 練習 633
10.13 本章主要內容 634
第11章 調試技術 635
11.1 理解調試 635
11.1.1程式故障 636
11.1.2常見故障 637
11.2 基本的調試操作 638
11.2.1設定斷點 639
11.2.2設定跟蹤點 641
11.2.3啟動調試模式 641
11.2.4修改變數的值 645
11.3 添加調試代碼 645
11.3.1使用斷言 645
11.3.2添加自己的調試代碼 647
11.4 調試程式 652
11.4.1調用棧 652
11.4.2單步執行到出錯位置 653
11.5 測試擴展的類 656
11.6 調試動態記憶體 659
11.6.1檢查空閒存儲器的函式 660
11.6.2控制空閒存儲器的調試操作 661
11.6.3空閒存儲器的調試輸出 662
11.7 調試c++/cli程式 668
11.7.1使用調試類debug和跟蹤類trace 668
11.7.2在windows forms應用程式中獲得跟蹤輸出 676
11.8 小結 677
11.9 本章主要內容 677
第12章 windows編程的概念 679
12.1 windows編程基礎 679
12.1.1視窗的元素 680
12.1.2 windows程式與操作
系統 681
12.1.3事件驅動型程式 682
12.1.4 windows訊息 682
12.1.5 windows api 682
12.1.6 windows數據類型 683
12.1.7 windows程式中
的符號 684
12.2 windows程式的結構 685
12.2.1 winmain()函式 686
12.2.2訊息處理函式 696
12.2.3簡單的windows程式 700
12.3 windows程式的組織 701
12.4 mfc 702
12.4.1 mfc表示法 702
12.4.2 mfc程式的組織方式 702
12.5 使用windows forms 706
12.6 小結 707
12.7 本章主要內容 707
第13章 多核編程 709
13.1 並行處理基本知識 709
13.2 並行模式庫 710
13.3 並行處理算法 710
13.3.1使用parallel_for算法 710
13.3.2使用parallel_for_each算法 712
13.3.3使用parallel_invoke算法 714
13.4 真正的並行問題 715
13.5 臨界區 728
13.5.1使用critical_section對象 728
13.5.2鎖定代碼節或解除代碼節鎖定 729
13.6 combinable類模板 731
13.7 任務和任務組 733
13.8 小結 736
13.9 練習 736
13.10 本章主要內容 736
第14章 使用mfc編寫windows程式 739
14.1 mfc的文檔/視圖概念 739
14.1.1文檔的概念 739
14.1.2文檔界面 740
14.1.3視圖的概念 740
14.1.4連結文檔和視圖 741
14.1.5應用程式和mfc 742
14.2 創建mfc應用程式 743
14.2.1創建sdi應用程式 745
14.2.2 mfc application wizard的輸出 748
14.2.3創建mdi應用程式 757
14.3 小結 760
14.4 練習 760
14.5 本章主要內容 760
第15章 處理選單和工具列 763
15.1 與windows進行通信 763
15.1.1了解訊息映射 764
15.1.2訊息類別 767
15.1.3處理程式中的訊息 767
15.2 擴展sketcher程式 768
15.3 選單的元素 769
15.4 為選單訊息添加處理程式 771
15.4.1選擇處理選單訊息的類 773
15.4.2創建選單訊息函式 773
15.4.3編寫選單訊息函式的代碼 775
15.4.4添加更新用戶界面的訊息處理程式 778
15.5 添加工具列按鈕 781
15.5.1編輯工具列按鈕的屬性 782
15.5.2練習使用工具列按鈕 783
15.5.3添加工具提示 784
15.6 c++/cli程式中的選單和工具列 785
15.6.1理解windows forms 785
15.6.2理解windows forms應用程式 786
15.6.3在clr sketcher中添加選單 788
15.6.4添加選單項的事件處理程式 790
15.6.5實現事件處理程式 791
15.6.6設定選單項複選 792
15.6.7添加工具列 793
15.7 小結 797
15.8 練習 797
15.9 本章主要內容 797
第16章 在視窗中繪圖 799
16.1 視窗繪圖的基礎知識 799
16.1.1視窗工作區 800
16.1.2 windows圖形設備界面 800
16.2 visual c++中的繪圖機制 802
16.2.1應用程式中的視圖類 802
16.2.2 cdc類 803
16.3 實際繪製圖形 811
16.4 對滑鼠進行編程 813
16.4.1滑鼠發出的訊息 813
16.4.2滑鼠訊息處理程式 814
16.4.3使用滑鼠繪圖 816
16.5 練習使用sketcher程式 837
16.5.1運行示例 838
16.5.2捕獲滑鼠訊息 838
16.6 在clr中繪圖 840
16.6.1在窗體上繪圖 840
16.6.2添加滑鼠事件處理程式 840
16.6.3定義c++/cli元素類 842
16.6.4實現mousemove事件處理程式 850
16.6.5實現mouseup事件處理程式 851
16.6.6實現窗體的paint事件處理程式 851
16.7 小結 852
16.8 練習 852
16.9 本章主要內容 853
第17章 創建文檔和改進視圖 855
17.1 創建草圖文檔 855
17.2 改進視圖 859
17.2.1更新多個視圖 859
17.2.2滾動視圖 861
17.2.3使用mm_loenglish映射模式 865
17.3 刪除和移動形狀 866
17.4 實現上下文選單 866
17.4.1關聯選單和類 867
17.4.2練習彈出選單 870
17.4.3突出顯示元素 870
17.4.4處理選單訊息 874
17.5 處理禁止的元素 881
17.6 擴展clr sketcher 882
17.6.1坐標系統轉換 882
17.6.2定義草圖類 885
17.6.3在paint事件處理程式中繪製草圖 886
17.6.4實現元素的突出顯示 887
17.6.5創建上下文選單 891
17.7 小結 897
17.8 練習 897
17.9 本章主要內容 898
第18章 使用對話框和控制項 899
18.1 理解對話框 899
18.2 理解控制項 900
18.3 創建對話框資源 900
18.3.1給對話框添加控制項 901
18.3.2測試對話框 902
18.4 對話框的編程 902
18.4.1添加對話框類 902
18.4.2模態和非模態對話框 903
18.4.3顯示對話框 903
18.5 支持對話框控制項 906
18.5.1初始化控制項 906
18.5.2處理單選按鈕訊息 907
18.6 完成對話框的操作 908
18.6.1給文檔添加線寬 908
18.6.2給元素添加線寬 909
18.6.3在視圖中創建元素 910
18.6.4練習使用對話框 910
18.7 使用微調按鈕控制項 911
18.7.1添加scale選單項和工具列按鈕 911
18.7.2創建微調按鈕 911
18.7.3生成比例對話框類 913
18.7.4顯示微調按鈕 915
18.8 使用縮放比例 916
18.8.1可縮放的映射模式 916
18.8.2設定文檔的大小 917
18.8.3設定映射模式 918
18.8.4同時實現滾動與縮放 919
18.9 使用ctaskdialog類 921
18.9.1顯示任務對話框 921
18.9.2創建ctaskdialog對象 923
18.10 使用狀態欄 925
18.11 使用列表框 929
18.11.1刪除比例對話框 929
18.11.2創建列表框控制項 929
18.12 使用編輯框控制項 931
18.12.1創建編輯框資源 931
18.12.2創建對話框類 933
18.12.3添加text選單項 934
18.12.4定義文本元素 935
18.12.5實現ctext類 935
18.13 clr sketcher中的對話框和控制項 940
18.13.1添加對話框 940
18.13.2創建文本元素 946
18.14 小結 953
18.15 練習 953
18.16 本章主要內容 953
第19章 存儲和列印文檔 955
19.1 了解序列化 955
19.2 序列化文檔 956
19.2.1文檔類定義中的序列化 956
19.2.2文檔類實現中的序列化 957
19.2.3基於cobject的類的功能 959
19.2.4序列化的工作方式 960
19.2.5如何實現類的序列化 961
19.3 套用序列化 961
19.3.1記錄文檔修改 962
19.3.2序列化文檔 963
19.3.3序列化元素類 965
19.4 練習序列化 968
19.5 列印文檔 969
19.6 實現多頁列印 972
19.6.1獲取文檔的總尺寸 973
19.6.2存儲列印數據 973
19.6.3準備列印 974
19.6.4列印後的清除 976
19.6.5準備設備上下文 976
19.6.6列印文檔 977
19.6.7獲得文檔的列印輸出 980
19.7 clr sketcher中的序列化和列印 981
19.7.1了解二進制序列化 981
19.7.2序列化草圖 985
19.7.3列印草圖 995
19.8 小結 996
19.9 練習 996
19.10 本章主要內容 997
第20章 編寫自己的dll 999
20.1 了解dll 999
20.1.1 dll的工作方式 1000
20.1.2 dll的內容 1003
20.1.3 dll變體 1003
20.2 決定放入dll的內容 1004
20.3 編寫dll 1005
20.4 小結 1011
20.5 練習 1011
20.6 本章主要內容 1011

相關詞條

熱門詞條

聯絡我們