前言
第I部分 Visual C++ .NET入門篇
第1章 Visual C++入門
1.1 編寫第1個C++程序
1.1.1 main函數
1.1.2 C++關鍵字和標識符
1.2 創(chuàng)建一個可執(zhí)行程序的步驟
1.2.1 編輯源文件
1.2.2 編譯源文件
1.2.3 鏈接目標文件
1.2.4 運行和測試程序
1.3 創(chuàng)建一個實際的可執(zhí)行程序
1.3.1 創(chuàng)建項目
1.3.2 為項目添加C++源文件
1.3.3 為源文件添加C++代碼
1.3.4 生成可執(zhí)行文件
1.3.5 執(zhí)行程序
1.4 本章小結
第2章 面向對象編程簡介
2.1 什么是面向對象編程
2.2 面向對象編程語言的特性
2.2.1 封裝
2.2.2 繼承
2.2.3 多態(tài)
2.3 類和對象
2.4 面向對象編程的主要優(yōu)點
2.5 一個簡單示例
2.6 本章小結
第3章 變量和運算符
3.1 什么是變量
3.2 基本數據類型
3.3 聲明變量
3.4 聲明多個變量
3.5 為變量賦值
3.6 數組
3.7 指針
3.8 引用
3.9 常量
3.10 枚舉
3.11 自定義類型
3.12 為類添加成員變量
3.13 .NET框架 String類
3.14 運算符和表達式
3.14.1 賦值運算符
3.14.2 算術運算符
3.14.3 關系運算符和邏輯運算符
3.14.4 按位運算符
3.14.5 條件運算符
3.14.6 sizeof運算符
3.14.7 類型轉換
3.14.8 運算符優(yōu)先級和結合性
3.15 本章小結
第4章 函數
4.1 聲明函數原型
4.1.1 聲明一個簡單的函數原型
4.1.2 聲明函數原型參數
4.1.3 聲明函數原型的返回類型
4.1.4 函數參數的默認值
4.2 定義函數體
4.2.1 定義一個簡單的函數體
4.2.2 定義一個使用參數的函數體
4.2.3 定義一個具有返回值的函數體
4.3 調用函數
4.3.1 在示例程序中調用函數
4.3.2 使用調試器單步調試應用程序
4.3.3 局部變量和全局變量的作用域
4.3.4 函數重載
4.4 本章小結
第5章 判斷語句和循環(huán)語句
5.1 使用if語句進行判斷
5.1.1 執(zhí)行單路判斷
5.1.2 執(zhí)行雙路判斷
5.1.3 執(zhí)行多路判斷
5.1.4 執(zhí)行嵌套判斷
5.2 使用switch語句進行判斷
5.2.1 定義簡單的switch語句
5.2.2 在switch語句中定義傳遞
5.2.3 在switch語句中使用傳遞
5.3 循環(huán)語句
5.3.1 使用while循環(huán)
5.3.2 使用for循環(huán)
5.3.3 使用do-while循環(huán)
5.3.4 執(zhí)行無條件跳轉
5.4 本章小結
第II部分 面向對象程序設計的基礎知識
第6章 類和對象
6.1 將對象組織為頭文件和源文件
6.1.1 在頭文件中定義類
6.1.2 在源文件中實現類
6.2 創(chuàng)建和銷毀對象
6.3 定義構造函數和析構函數
6.3.1 定義構造函數
6.3.2 定義析構函數
6.4 定義類范圍成員
6.4.1 定義類范圍數據成員
6.4.2 定義類范圍成員函數
6.5 定義對象關系
6.5.1 定義LoyaltyScheme類
6.5.2 實現LoyaltyScheme類
6.5.3 創(chuàng)建、使用和銷毀LoyaltyScheme對象
6.5.4 測試應用程序
6.6 本章小結
第7章 控制對象的生存期
7.1 傳統(tǒng)C++內存管理
7.1.1 創(chuàng)建對象
7.1.2 銷毀對象
7.1.3 手工分配內存的優(yōu)點和缺點
7.2 .NET方法
7.2.1 終結器
7.2.2 實現終結器
7.2.3 有關終結器的幾點說明
7.2.4 使用Dispose方法
7.2.5 集成Finalize和Dispose
7.3 本章小結
第8章 繼承
8.1 定義一個繼承層次結構
8.2 定義一個基類
8.3 定義一個派生類
8.4 訪問基類成員
8.5 創(chuàng)建對象
8.6 覆蓋成員函數
8.7 定義封裝類
8.8 定義和使用接口
8.9 本章小結
第III部分 .NET編程基礎
第9章 值類型
9.1 引用類型和值類型
9.1.1 值類型的作用
9.1.2 值類型的屬性
9.2 結構體
9.2.1 創(chuàng)建和使用簡單結構體
9.2.2 對結構體進行細致查看
9.2.3 結構體和類的區(qū)別
9.2.4 為結構體實現構造函數
9.2.5 結構體嵌套
9.2.6 復制結構體
9.3 枚舉
9.3.1 創(chuàng)建和使用枚舉
9.3.2 在程序中使用枚舉
9.3.3 避免多義性
9.3.4 高效使用內存
9.4 本章小結
第10章 運算符重載
10.1 運算符重載
10.1.1 需要重載運算符的類型
10.1.2 重載的適用范圍
10.1.3 重載的規(guī)則
10.2 托管類型中的重載運算符
10.2.1 重載值類型
10.2.2 重載算術運算符
10.2.3 重載運算符函數
10.2.4 實現邏輯運算符和相等運算符
10.2.5 實現Equals
10.2.6 實現賦值
10.2.7 實現增量和減量
10.2.8 重載引用類型
10.2.9 實現引用類型的重載運算符
10.2.10 調用引用類型的重載運算符
10.3 使用重載運算符的規(guī)則
10.4 本章小結
第11章 異常處理
11.1 什么是異常
11.1.1 異常的工作方式
11.1.2 異常類型
11.2 引發(fā)異常
11.3 處理異常
11.3.1 使用try和catch構造
11.3.2 自定義異常處理
11.3.3 使用異常層次結構
11.3.4 構造函數引發(fā)的異常
11.3.5 嵌套和重新引發(fā)異常
11.3.6 __finally塊
11.3.7 catch(…)塊
11.4 創(chuàng)建自定義異常類型
11.5 把__try_cast用于動態(tài)強制類型轉換
11.6 跨語言使用異常
11.7 本章小結
第12章 數組和集合
12.1 本地C++數組
12.1.1 向函數傳遞數組
12.1.2 初始化數組
12.1.3 多維數組
12.1.4 動態(tài)分配數組
12.1.5 __gc數組
12.1.6 使用__gc和__nogc關鍵字
12.1.7 數組和引用類型
12.1.8 多維__gc數組
12.2 .NET數組類
12.2.1 數組的基本操作
12.2.2 數組的高級操作
12.3 其他.NET集合類
12.3.1 ArrayList類
12.3.2 SortedList類
12.3.3 StringCollection類
12.4 本章小結
第13章 屬性
13.1 什么是屬性
13.2 實現標量屬性
13.2.1 屬性中的錯誤
13.2.2 只讀和只寫屬性
13.3 實現索引屬性
13.3.1 Bank示例
13.3.2 實現Bank類
13.3.3 添加Account類
13.3.4 創(chuàng)建Account類屬性
13.3.5 向Bank類添加Accounts
13.3.6 實現Add和Remove方法
13.3.7 實現索引屬性以檢索賬戶
13.4 本章小結
第14章 委托和事件
14.1 委托簡介
14.1.1 委托的作用
14.1.2 定義委托
14.1.3 實現委托
14.1.4 使用委托調用靜態(tài)成員函數
14.1.5 使用委托調用非靜態(tài)成員函數
14.1.6 使用多播委托
14.2 什么是事件
14.2.1 實現事件源類
14.2.2 實現事件接收器
14.3 本章小結
第IV部分 使用.NET框架
第15章 .NET框架類庫
15.1 什么是.NET框架
15.1.1 公共語言運行庫
15.1.2 中間語言
15.1.3 公共類型系統(tǒng)
15.1.4 公共語言規(guī)范
15.1.5 .NET框架類庫
15.1.6 元數據
15.1.7 程序集
15.2 .NET框架命名空間
15.2.1 在C++程序中使用命名空間
15.2.2 System 命名空間
15.2.3 基本類型
15.2.4 浮點型
15.2.5 集合命名空間
15.2.6 集合接口
15.2.7 Diagnostic命名空間
15.2.8 IO命名空間
15.2.9 繪圖命名空間
15.2.10 窗體命名空間
15.2.11 網絡命名空間
15.2.12 XML命名空間
15.2.13 數據命名空間
15.2.14 Web命名空間
15.3 本章小結
第16章 Windows窗體簡介
16.1 什么是Windows窗體
16.1.1 Windows窗體和設計器
16.1.2 Windows窗體與MFC
16.1.3 ATL
16.2 System.Windows.Forms命名空間
16.3 創(chuàng)建和使用窗體
16.3.1 創(chuàng)建一個簡單窗體
16.3.2 運用窗體屬性
16.3.3 窗體關系
16.3.4 在窗體上放置控件
16.3.5 處理事件
16.4 使用控件
16.4.1 標簽
16.4.2 按鈕
16.4.3 復選框和單選按鈕
16.4.4 分組框
16.4.5 列表框和組合框
16.4.6 文本框
16.5 使用菜單
16.5.1 菜單的其他功能
16.5.2 顯示上下文菜單
16.6 本章小結
第17章 對話框和控件
17.1 使用對話框
17.1.1 DialogResult屬性
17.1.2 通過對話框處理數據
17.1.3 Tab次序
17.2 使用通用對話框
17.3 控件的補充內容
17.3.1 使用TreeView控件
17.3.2 添加目錄瀏覽
17.3.3 使用ListView控件
17.3.4 顯示目錄詳細資料
17.3.5 使用拆分器
17.3.6 使用工具欄
17.3.7 使用狀態(tài)欄
17.4 本章小結
第18章 圖形輸出
18.1 GDI+的圖形
18.1.1 System::Drawing命名空間
18.1.2 Graphics類
18.1.3 創(chuàng)建Graphics對象
18.1.4 繪圖對象
18.1.5 Pen
18.1.6 Brush
18.1.7 標準Pen和Brush對象
18.1.8 繪圖操作
18.1.9 Paint事件
18.1.10 使用顏色
18.1.11 使用字體
18.2 處理圖像
18.3 打印
18.4 本章小結
第19章 文件處理
19.1 System::IO命名空間
19.2 使用讀取器和寫入器進行文本輸入輸出
19.2.1 TextWriters的使用
19.2.2 FileStream類
19.2.3 使用TextReader
19.3 處理文件和目錄
19.4 二進制輸入輸出
19.4.1 BinaryWriter類
19.4.2 BinaryReader 類
19.5 本章小結
第V部分 數據訪問
第20章 讀寫XML文檔
20.1 XML和.NET
20.1.1 .NET中的XML命名空間
20.1.2 用于處理XML的類
20.2 用XmlTextReader解析XML文檔
20.2.1 驗證XML文檔的結構
20.2.2 處理屬性
20.3 帶有驗證的XML解析
20.4 用XmlTextWriter來編寫XML
20.5 使用XmlDocument
20.6 本章小結
第21章 轉換XML
21.1 轉換XML
21.2 使用XPath
21.2.1 XPathNavigator類
21.2.2 使用XPathNavigator類
21.2.3 在XPathNavigator中使用XPath
21.3 使用XSL
21.4 本章小結
第22章 使用ADO.NET
22.1 ADO.NET概述
22.1.1 ADO.NET數據提供程序
22.1.2 ADO.NET命名空間
22.1.3 ADO.NET程序集
22.2 創(chuàng)建連接應用程序
22.2.1 連接數據庫
22.2.2 創(chuàng)建并執(zhí)行命令
22.2.3 執(zhí)行數據修改命令
22.2.4 執(zhí)行查詢及其處理結果
22.3 創(chuàng)建無連接應用程序
22.3.1 創(chuàng)建窗體
22.3.2 創(chuàng)建并配置數據適配器
22.3.3 創(chuàng)建并填寫DataSet
22.4 本章小結
第VI部分 創(chuàng)建分布式應用程序
第23章 創(chuàng)建Web服務
23.1 Web服務概述
23.1.1 一個Web服務場景
23.1.2 Web服務及前景
23.1.3 Web服務體系結構
23.1.4 數據格式和協議
23.1.5 Web服務的描述
23.1.6 Web服務的發(fā)現
23.2 Web服務命名空間
23.3 創(chuàng)建一個簡單的Web服務
23.4 通過瀏覽器使用Web服務
23.5 從代碼中使用Web服務
23.5.1 調試Web服務
23.5.2 不使用Visual Studio .NET
23.6 本章小結
第24章 ATL Server簡介
24.1 ATL Server概述
24.2 用ATL Server創(chuàng)建基于Web的應用程序
24.2.1 ATL Server的體系結構
24.2.2 服務器響應文件(SRF)中的其他內容
24.2.3 使用ATL Server編寫Web應用程序
24.2.4 從瀏覽器中使用Web應用程序
24.3 用ATL創(chuàng)建Web服務
24.3.1 用ATL編寫Web服務
24.3.2 創(chuàng)建代碼框架
24.3.3 修改接口
24.3.4 使用ATL Server
24.4 本章小結
第VII部分 高級功能
第25章 使用非托管代碼
25.1 比較托管代碼和非托管代碼
25.1.1 混合類
25.1.2 GCHandle
25.2 固定和裝箱
25.2.1 固定指針
25.2.2 裝箱和拆箱
25.3 使用P/Invoke調用Win32 API中的函數
25.3.1 DllImportAttribute類
25.3.2 結構化數據的傳遞
25.4 本章小結
第26章 特征和反射
26.1 元數據和特征
26.2 使用預定義特征
26.2.1 AssemblyInfo.cpp文件
26.2.2 使用預定義的特征類
26.3 自定義特征
26.3.1 特征類的屬性
26.3.2 特征類的標準
26.3.3 編寫自定義特征
26.4 利用反射獲取特征數據
26.4.1 Type類
26.4.2 訪問標準特征
26.4.3 訪問自定義特征數據
26.5 本章小結
第27章 使用COM
27.1 COM組件和COM的交互操作
27.2 在.NET程序中使用COM組件
27.2.1 RCW的工作機制
27.2.2 創(chuàng)建并使用RCW
27.2.3 處理COM錯誤
27.2.4 對COM對象的晚綁定
27.2.5 在Windows窗體項目中使用ActiveX控件
27.2.6 調用控件中的方法
27.3 將.NET組件作為COM組件使用
27.4 本章小結