VisualC++2008完全學習手冊

VisualC++2008完全學習手冊

《VisualC++2008完全學習手冊》是2010年1月1日清華大學出版社出版的圖書,作者是張水波。本書介紹Visual C++ 2008支持的兩種版本的C++,詳細介紹兩種風格的C++語言,使用微軟基本類MFC開發本地的ISO/ANSI C++ Windows應用程式,使用Windows Forms開發C++/CLI Windows應用程式。

基本介紹

  • 書名:VisualC++2008完全學習手冊
  • 作者:張水波
  • ISBN:9787302236849
  • 頁數:655
  • 定價:79.5元
  • 出版社清華大學出版社
  • 出版時間:2010年1月1日
  • 裝幀:平裝
  • 開本:16開
內容簡介,前言,目錄,

內容簡介

本書共分4篇,分別介紹Visual C++ 2008基礎知識、C++面向對象的程式開發、Windows應用程式開發和資料庫訪問等內容。配套光碟提供了教學視頻和實例源檔案。
本書可以作為Visual C++ 2008的基礎學習書籍,也可以幫助中級讀者提高技能,順利掌握編程套用實踐知識。

前言

微軟開發的Visual Studio 2008支持兩種截然不同但又緊密相關的C++語言:ISO/ANSI標準C++和C++/CLI。ISO/ANSI是標準C++,它是在20世紀80年代早期開發的,是一種基於C的面向對象語言,所以這兩種語言有許多共同的語法和功能,但是C++要比其前身豐富得多,用途也廣泛得多。標準C++主要用於開發本地計算機上運行的高性能應用程式。C++/CLI由微軟公司開發,現在是ECMA標準,它是專門為.NET Framework開發的。
本書使用Visual C++ 2008支持的兩種技術,講授C++編程的基礎知識。詳細介紹了兩種C++語言,使用微軟基本類MFC開發本地的ISO/ANSI C++Windows應用程式,使用Windows Forms開發的C++/CLI Windows應用程式等。
由於當前信息化時代中大量地使用資料庫,本書還介紹了用於MFC和Windows Forms應用程式中訪問數據源的技術。與Windows Forms應用程式相比,MFC應用程式需要編寫大量的代碼來實現希望的功能,而Windows Forms程式經常只需要編寫很少的代碼,有時甚至不用編寫代碼。因此,本書重點介紹了MFC編程,而非Windows Forms編程。
1.本書內容
本書介紹Visual C++ 2008支持的兩種不同版本的C++,詳細介紹了兩種風格的C++語言,使用Microsoft基本類MFC開發本地的ISO/ANSI C++ Windows應用程式,使用Windows Forms開發C++/CLI Windows應用程式等。本書共分為4篇,分別是Visual C++ 2008基礎知識、C++面向對象的程式開發、Windows應用程式開發、資料庫訪問。各篇主要內容如下。
第1篇:Visual C++ 2008基礎知識(第1~7章)。首先介紹使用C++編寫本地應用程式和.NET Framework應用程式所需要理解的基本概念,以及在Visual C++ 2008開發環境中體現的主要思想。第2~7章專門講授兩個C++語言版本。
第2篇:C++面向對象的程式開發(第8~12章)。本篇介紹了什麼是面向對象的程式開發,以及面向對象的程式設計的主要特性。最後介紹如何使用標準模板庫STL。
第3篇:Windows應用程式開發(第13~20章)。本篇是本書的重點之一,首先介紹創建Windows應用程式的幾種方式,然後重點介紹如何使用MFC開發本地的Windows應用程式,並使用C++/CLI創建了Windows應用程式。
第4篇:資料庫訪問(第21~22章)。本篇首先使用MFC創建訪問資料庫的Windows應用程式,然後使用Windows Forms進行高度的可視化資料庫編程。
2.本書特色
本書中採用大量的實例進行講解,力求通過實際操作使讀者更容易地掌握Visual C++ 2008的知識。本書難度適中,內容由淺入深,實用性強,覆蓋面廣,條理清晰。
? 知識點全 本書緊緊圍繞Visual C++ 2008的實際套用、管理與開發展開講解,具有很強的邏輯性和系統性。
? 基於理論,注重實踐 在講述過程中,不僅僅只介紹理論知識,而且在合適位置安排具有代表性、操作性強的綜合套用,將理論套用到實踐當中,來加強讀者的實際套用能力,鞏固Visual C++的理論知識。
? 快速掌握 注重技術原理和實際套用的高度融合,通過循序漸進的內容組織,以及大量來自工作現場的套用案例,幫助讀者快速掌握和套用Visual C++ 2008編程技術。
? 隨書光碟 本書為實例配備了視頻教學檔案,讀者可以通過視頻檔案更加直觀地學習Visual C++ 2008的使用知識。
? 網站技術支持 讀者在學習或者工作的過程中,如果遇到實際問題,可以直接登錄www-itzcn-com與我們聯繫,作者會在第一時間內給予幫助。
3.讀者對象
本書具有知識全面、實例精彩、指導性強的特點,力求以全面的知識及豐富的實例來指導讀者透徹地學習Visual C++ 2008各方面的知識。本書可以作為Visual C++ 2008的入門書籍,也可以幫助中級讀者提高技能,對高級讀者也有一定的啟發意義。
本書適合以下人員閱讀學習。
? 希望學習C++語言的初學者。
? 了解C++並希望使用C++開發Windows應用程式者。
? 各大中專院校的在校學生和相關授課老師。

目錄

第一篇 Visual C++ 2008基礎知識
第1章 開始使用Visual C++ 2008 1
1.1 .NET Framework 3.5 1
1.1.1 什麼是.NET Framework 1
1.1.2 公共語言運行庫CLR 2
1.1.3 .NET Framework類庫 2
1.1.4 .NET Framework 3.5的新功能 3
1.2 C++應用程式 3
1.3 Visual C++ 2008與Visual Studio 2008 4
1.4 控制台應用程式 7
1.4.1 Win32控制台應用程式 7
1.4.2 創建CLR控制台程式 10
1.5 創建Windows應用程式 11
1.5.1 創建MFC應用程式 12
1.5.2 創建Windows Forms應用程式 13
第2章 變數和表達式 15
2.1 C++的基本語法 15
2.1.1 程式的結構 15
2.1.2 注釋 18
2.1.3 #include指令 19
2.1.4 命名空間 19
2.1.5 程式塊 20
2.2 變數和常量 21
2.2.1 定義變數 21
2.2.2 常量和符號常量 22
2.3 基本數據類型 23
2.3.1 整型 23
2.3.2 字元類型 24
2.3.3 布爾類型 25
2.3.4 浮點類型 25
2.3.5 定義數據類型的別名 26
2.4 輸入與輸出表達式 26
2.4.1 標準I/O流 27
2.4.2 格式化輸出 27
2.5 運算符與表達式 31
2.5.1 算術運算 31
2.5.2 賦值運算 36
2.5.3 逗號運算 37
2.5.4 關係運算 38
2.5.5 邏輯運算 39
2.5.6 位運算 41
2.6 C++/CLI的套用(託管C++) 43
2.6.1 C++/CLI的基本數據類型 43
2.6.2 C++/CLI格式化輸出 45
2.6.3 C++/CLI的鍵盤輸入 47
2.6.4 safe_cast安全類型轉換 47
第3章 流程控制結構 48
3.1 條件語句 48
3.1.1 if語句 48
3.1.2 條件運算符 53
3.1.3 switch語句 54
3.2 循環語句 56
3.2.1 while語句 57
3.2.2 do-while語句 59
3.2.3 for語句 60
3.2.4 嵌套循環 62
3.3 跳轉結構 63
3.3.1 break語句 63
3.3.2 continue語句 65
3.3.3 goto語句 67
3.4 C++/CLI的套用 68
第4章 數組和字元串 71
4.1 數組概述 71
4.1.1 定義數組 71
4.1.2 引用數組元素 72
4.1.3 初始化 73
4.2 多維數據 74
4.2.1 多維數組的定義 75
4.2.2 多維數組的初始化 76
4.3 數組的套用 78
4.3.1 排序 78
4.3.2 倒置矩陣 84
4.4 字元數組和字元串 85
4.4.1 字元數組 85
4.4.2 string字元串 86
4.4.3 使用string字元串 87
4.4.4 Unicode字元串 92
4.5 C++/CLI的套用 92
4.5.1 CLR數組 92
4.5.2 CLR字元串 95
第5章 函式 97
5.1 函式的定義 97
5.2 函式的參數和返回值 98
5.2.1 實參與形參 98
5.2.2 函式的返回值 101
5.2.3 使用const修飾符的函式形參 102
5.3 函式的調用 102
5.3.1 函式調用機制 103
5.3.2 函式原型 104
5.4 函式的遞歸調用 105
5.5 函式的默認參數值 108
5.6 函式和數組 109
5.7 函式與變數的作用域 111
5.7.1 局部變數 111
5.7.2 全局變數 113
5.8 變數的生存期 114
5.8.1 自動變數 115
5.8.2 靜態變數 116
5.9 函式的重載 117
5.10 函式模板 119
5.11 C++/CLI的套用 122
5.11.1 接收數量可變的實參 122
5.11.2 泛型函式 123
第6章 指針與引用 126
6.1 指針的概念 126
6.2 聲明指針變數 126
6.3 指針運算符 127
6.3.1 取地址運算符 127
6.3.2 間接運算符 128
6.4 指針變數的初始化 129
6.5 指針和數組 130
6.5.1 使用指針法引用數組元素 130
6.5.2 使用指針處理多維數組 133
6.6 指針和函式 135
6.6.1 作為形參的指針 135
6.6.2 返回指針的函式 137
6.6.3 函式指針 139
6.7 常量指針和指針常量 140
6.7.1 指向常量的指針 140
6.7.2 指針常量 142
6.8 指向char類型的指針變數 143
6.9 動態記憶體的分配 145
6.9.1 堆與new和delete運算符 145
6.9.2 數組的動態分配記憶體 146
6.10 引用 149
6.11 C++/CLI中的指針與引用 151
6.11.1 跟蹤句柄 151
6.11.2 跟蹤引用 153
第7章 程式檔案和預處理指令 154
7.1 使用頭檔案 154
7.2 外部名稱 156
7.3 命名空間 157
7.3.1 聲明命名空間 157
7.3.2 未指定名稱的命名空間 159
7.3.3 嵌套的命名空間 160
7.4 預處理指令 160
7.4.1 檔案包含 160
7.4.2 宏定義 161
7.4.3 條件編譯 162
7.4.4 #error和#pragma指令 164
第二篇 C++面向對象的程式開發
第8章 自定義數據類型 167
8.1 結構 167
8.1.1 定義結構 167
8.1.2 訪問結構成員 168
8.1.3 結構與指針 169
8.2 聯合 171
8.2.1 定義联合 172
8.2.2 匿名聯合 173
8.3 枚舉 174
8.4 類的概念與定義 175
8.4.1 定義類 176
8.4.2 創建類的對象 176
8.4.3 訪問類的數據成員 177
8.4.4 為類添加成員函式 178
8.5 類的構造函式 180
8.5.1 構造函式的使用 180
8.5.2 類的默認構造函式 182
8.5.3 默認的初始化值 184
8.5.4 構造函式中的初始化列表 186
8.6 類的析構函式 186
8.7 類的私有成員 189
8.8 C++/CLI中的枚舉 191
8.9 C++/CLI中的類和對象 193
8.9.1 數值類類型 193
8.9.2 引用類類型 195
8.9.3 類屬性 197
第9章 類的更多功能 203
9.1 對象數組 203
9.2 對象的指針與引用 205
9.2.1 對象的指針 205
9.2.2 對象的引用 207
9.3 this指針 207
9.4 類的靜態成員 209
9.4.1 靜態數據成員 209
9.4.2 靜態成員函式 211
9.5 複製構造函式 212
9.6 類的友元 215
9.6.1 類的友元函式 216
9.6.2 友元類 219
9.7 重載運算符重載 220
9.7.1 重載運算符的概述 220
9.7.2 重載雙目運算符 221
9.7.3 重載增量運算符 223
9.8 類模板 224
9.8.1 定義類模板 225
9.8.2 根據類模板創建對象 227
9.9 C++/CLI的套用 231
9.9.1 在數值類中重載運算符 231
9.9.2 重載數值類的遞增和遞減運
算符 233
9.9.3 重載引用類運算符 234
第10章 繼承與多態性 236
10.1 繼承的基本概念 236
10.1.1 類的層次關係 236
10.1.2 派生類對象的結構 238
10.2 繼承機制下的訪問控制 238
10.2.1 訪問父類成員 239
10.2.2 繼承方式 243
10.3 派生類的構造函式 246
10.4 派生類的析構函式 248
10.5 派生類的複製構造函式 249
10.6 多重繼承 252
10.7 在相關的類類型之間轉換 254
10.8 理解多態性 256
10.8.1 虛函式 257
10.8.2 使用虛函式的原則 260
10.9 純虛函式和抽象類 263
10.9.1 純虛函式 263
10.9.2 抽象類 263
10.10 C++/CLI的套用 265
10.10.1 裝箱與拆箱 265
10.10.2 C++/CLI中的繼承 266
10.10.3 接口類 268
10.10.4 委託和事件 270
第11章 標準模板庫 277
11.1 標準模板庫概述 277
11.1.1 STL容器 277
11.1.2 STL疊代器 280
11.1.3 STL算法 281
11.1.4 STL頭檔案 281
11.2 順序容器 282
11.2.1 vector順序容器 282
11.2.2 deque順序容器 289
11.2.3 使用list容器 290
11.3 容器適配器 292
11.3.1 佇列容器 292
11.3.2 優先權容器 294
11.3.3 堆疊容器 296
11.4 關聯容器 298
11.4.1 使用映射容器 298
11.4.2 使用多重映射容器 301
11.5 疊代器 303
11.5.1 輸入流疊代器 303
11.5.2 輸出流疊代器 304
11.5.3 插入疊代器 305
11.6 算法 307
11.6.1 fill、fill_n、generate與
generate_n 307
11.6.2 數學算法 308
11.7 C++/CLI中的STL 309
11.7.1 STL/CLR順序容器 309
11.7.2 STL/CLR關聯容器 311
第12章 異常處理 314
12.1 異常的概念 314
12.2 捕獲異常 315
12.2.1 try-catch塊 316
12.2.2 捕獲所有的異常 318
12.3 拋出異常的函式 319
12.4 標準異常類 320
12.5 MFC異常 321
第三篇 Windows應用程式開發
第13章 創建Windows應用程式 323
13.1 認識Windows應用程式 323
13.1.1 視窗 323
13.1.2 Windows程式的工作過程 324
13.1.3 Windows API 325
13.2 Windows程式結構 325
13.2.1 Windows數據類型 325
13.2.2 入口函式 327
13.2.3 視窗過程函式 335
13.2.4 一個簡單Windows程式 337
13.3 使用MFC 339
13.4 使用Windows Forms 342
第14章 使用MFC創建Windows程式 344
14.1 MFC概述 344
14.1.1 MFC和Win32 344
14.1.2 MFC類庫 345
14.1.3 MFC應用程式的運行 346
14.1.4 MFC中的全局函式 347
14.2 創建MFC應用程式 347
14.2.1 創建SimpleEditor應用程式 347
14.2.2 管理項目 351
14.3 代碼分析 352
14.3.1 應用程式類CSimpleEditorApp 352
14.3.2 主框架視窗類CMainFrame 355
14.3.3 文檔類CSimpleEditor 356
14.3.4 視圖類CSimpleEditorView 357
14.3.5 預編譯頭檔案stdafx.h 359
第15章 訊息和命令 360
15.1 與Windows進行通信 360
15.1.1 了解訊息映射 360
15.1.2 處理不同類型的訊息 362
15.2 獲取滑鼠輸入 363
15.2.1 客戶區滑鼠訊息 363
15.2.2 非客戶區滑鼠訊息 368
15.2.3 WM_NCHITTEST訊息 370
15.2.4 滑鼠滾輪訊息 370
15.2.5 捕獲滑鼠 372
15.3 獲取鍵盤輸入 373
15.3.1 輸入焦點 373
15.3.2 按鍵訊息 373
15.3.3 字元訊息 375
15.3.4 插入符 376
15.4 定時器訊息 380
15.4.1 WM_TIMER訊息 380
15.4.2 回調函式設定定時器 382
15.5 自定義訊息 383
第16章 選單 386
16.1 選單 386
16.1.1 利用資源編輯器編輯選單 386
16.1.2 選單訊息 389
16.1.3 添加訊息處理代碼 390
16.1.4 選單命令範圍 393
16.1.5 更新選單項 394
16.1.6 選單更新範圍 396
16.2 快捷鍵 397
16.3 動態更改選單 398
16.3.1 手工編輯創建選單 398
16.3.2 修改現有選單 399
16.3.3 系統選單 401
16.4 快捷選單 401
16.5 在C++/CLI程式中使用選單 403
16.5.1 理解Windows Forms應用程式 403
16.5.2 MDI視窗 406
16.5.3 活動子窗體 408
16.5.4 排列子窗體 411
16.5.5 合併選單 412
16.5.6 替換和刪除選單 415
16.5.7 快捷選單 417
第17章 在視窗中繪圖 419
17.1 Windows GDI 419
17.1.1 MFC設備描述表類 419
17.1.2 設備描述表的屬性 420
17.1.3 繪圖模式 421
17.1.4 映射模式 422
17.1.5 移動坐標原點 423
17.1.6 獲取設備信息 424
17.2 用GDI繪圖 425
17.2.1 應用程式中的視圖類 425
17.2.2 繪製直線和曲線 426
17.2.3 繪製橢圓和矩形 429
17.2.4 畫筆 429
17.2.5 畫刷 431
17.2.6 繪製文本 432
17.2.7 字型 434
17.2.8 預定義對象 438
17.3 使用滑鼠繪圖 439
17.3.1 繪製圖形分析 439
17.3.2 創建繪圖類 440
17.3.3 完成基類CShape 442
17.3.4 繪製直線 443
17.3.5 完成其他派生類 444
17.3.6 創建繪圖類對象 447
17.3.7 捕獲滑鼠訊息 452
17.3.8 保存繪圖對象 453
17.4 使用GDI+繪圖 454
17.4.1 了解GDI+ 454
17.4.2 圖形操作 455
17.4.3 坐標和區域 458
17.4.4 使用Font類繪製文本 459
17.4.5 圖像操作 462
第18章 對話框和控制項 464
18.1 理解對話框和控制項 464
18.2 傳統控制項 465
18.2.1 CButton類 465
18.2.2 CListBox類 469
18.2.3 CStatic類 471
18.2.4 CEdit類 472
18.2.5 CComboBox類 475
18.2.6 CScrollBar類 477
18.3 高級控制項編輯 478
18.3.1 添加鍵盤接口 478
18.3.2 修改控制項行為 479
18.4 對話框 480
18.4.1 對話框模板 480
18.4.2 CDialog類 483
18.4.3 創建模式對話框 484
18.4.4 創建無模式對話框 486
18.4.5 對話框數據交換與校驗 487
18.4.6 與對話框控制項的互動 490
18.5 AddressBook程式 491
18.6 基於對話框的程式 495
18.6.1 計算器程式分析 496
18.6.2 設計MyCalculator類 497
18.6.3 設計對話框類CCalculatorDlg 498
18.7 通用對話框 502
18.7.1 檔案對話框類 502
18.7.2 字型對話框類 503
18.7.3 顏色對話框類 504
18.7.4 列印對話框類 504
18.8 Windows Forms窗體 505
18.9 Windows Forms控制項 506
18.9.1 控制項類 506
18.9.2 Button控制項 508
18.9.3 RadioButton和CheckBox控制項 509
18.9.4 GroupBox控制項 510
18.9.5 Label和LinkLabel控制項 510
18.9.6 TextBox控制項 511
18.9.7 RichTextBox控制項 515
18.9.8 ListBox和CheckedListBox
控制項 517
第19章 檔案和串列化 519
19.1 操作檔案的幾種方式 519
19.1.1 使用CRT函式std::fxxx() 519
19.1.2 使用標準C++庫std::fstream 521
19.1.3 使用Windows API函式 523
19.2 CFile類 525
19.2.1 打開、關閉和創建檔案 525
19.2.2 檔案的讀和寫 528
19.2.3 CFile類的派生類 529
19.3 串列化 530
19.3.1 串列化基礎 530
19.3.2 創建可串列化類 532
19.3.3 為AddressBook程式添加串列化
功能 532
19.4 訪問XML檔案 535
19.4.1 XML文檔 535
19.4.2 解析XML文檔 540
19.4.3 選擇節點 546
19.5 CLR中的檔案操作 552
19.6 路徑、目錄和檔案 553
19.6.1 Directory和File類 553
19.6.2 DirectoryInfo和FileInfo類 555
19.7 流和存取檔案 557
19.7.1 FileStream對象 557
19.7.2 StreamReader類 560
19.7.3 StreamWriter類 561
19.8 訪問二進制檔案 562
第20章 動態程式庫與鉤子 564
20.1 了解DLL 564
20.2 靜態程式庫 566
20.3 常規DLL 568
20.3.1 一個簡單的常規DLL 569
20.3.2 聲明導出函式 571
20.3.3 DLL的調用方式 573
20.3.4 調用約定與名稱改編 574
20.3.5 導出變數 575
20.3.6 導出類 576
20.3.7 DLL的入口函式 579
20.4 MFC規則DLL 580
20.4.1 靜態連結MFC DLL的規則
DLL 580
20.4.2 共享MFC DLL的規則DLL 582
20.5 MFC擴展DLL 583
20.6 Windows鉤子 586
20.6.1 認識HOOK鉤子 586
20.6.2 鉤子的安裝與卸載 587
20.6.3 鍵盤鉤子 588
第四篇 資料庫訪問
第21章 使用ODBC數據源 593
21.1 資料庫訪問技術 593
21.1.1 ODBC API 593
21.1.2 ODBC的MFC類 594
21.1.3 DAO與RDO 594
21.1.4 OLE DB與ADO 595
21.2 MFC ODBC類 596
21.2.1 CDatabase類 596
21.2.2 CRecordSet類 597
21.3 註冊數據源和示例資料庫 597
21.4 創建資料庫應用程式 599
21.4.1 了解記錄集 600
21.4.2 了解記錄視圖 603
21.4.3 創建視圖對話框 605
21.4.4 對記錄排序 606
21.5 多表操作 607
21.5.1 添加記錄集 607
21.5.2 添加記錄視圖類 608
21.5.3 過濾數據 609
21.5.4 顯示多個記錄視圖 610
21.6 更新操作 613
21.6.1 更新CRecordSet記錄集 614
21.6.2 事務 615
21.7 向表添加數據 616
21.7.1 添加訂單的邏輯處理 616
21.7.2 創建記錄集視圖 617
21.7.3 對話框切換 620
21.7.4 創建訂單編號 621
21.7.5 訂單數據 623
21.7.6 為訂單選擇產品 624
21.7.7 添加新訂單 625
第22章 資料庫和ADO-NET 628
22.1 ADO-NET概述 628
22.1.1 ADO-NET的設計目標 628
22.1.2 ADO-NET體系結構 629
22.1.3 System::Data命名空間 630
22.2 使用DataReader 632
22.3 使用DataSet 636
22.3.1 讀取數據 636
22.3.2 修改數據 639
22.3.3 保存DataSet對數據的修改 643
22.4 在DataSet中訪問多個表 645
22.4.1 ADO-NET中的關係 645
22.4.2 導航關係 645
22.5 使用數據控制項 648
22.5.1 DataGridView控制項 649
22.5.2 數據綁定 654

相關詞條

熱門詞條

聯絡我們