《高等學校工程創新型“十二五”規劃計算機教材:C++面向對象程序設計(第2版)》由杜茂康、李昌兵、曹慧英、王永編著,深入淺出地介紹了標準C++面向對象的程序設計技術,以及用Visual C++進行面向對象的Windows程序設計的基本原理和方法,包括C++對C語言的擴展、類、對象、友元、繼承、多態性、虛函數、重載、I/O流類庫、文件、模板與STL、C++ Windows程序的結構、消息驅動、MFC應用程序框架、GDI、菜單、對話框、工具欄、文檔與視圖等內容。全書本著易于理解、實用性強的原則設計其內容和案例,并以一個規模較大的綜合性程序的編制貫穿于C++面向對象技術和Windows程序設計的全過程,引導讀者理解和領會面向對象程序設計的思想、技術、方法和要領,掌握在Windows程序中應用自定義類實現程序功能的軟件開發方法。
《高等學校工程創新型“十二五”規劃計算機教材:C++面向對象程序設計(第2版)》取材新穎,內容全面,通俗易懂,可作為高等院校計算機、電子信息類專業及其他理工類相關專業的教材,也可作為C++語言自學者或程序設計人員的參考用書。
第1章 C++與面向對象程序設計概述
1.1 面向過程與面向對象程序設計
1.2 面向對象程序語言的特征
1.3 C++與面向對象程序設計
1.4 C++程序的結構
1.5 數據輸入與輸出
1.5.1 流的概念
1.5.2 cin和析取運算符>>
1.5.3 cout和插入運算符<<
1.5.4 輸出格式控制符
1.5.5 數制基數
1.6 編程實作--VC++ 6.0編程簡介
1.6.1 在VC++中編輯源程序
1.6.2 編譯和調試程序
1.6.3 關于Visual C++的項目工作區文件
1.6.4 利用Visual C++向導創建應用程序
習題1
第2章 C++基礎
2.1 C++對C語言數據類型的擴展
2.2 局部變量聲明
2.3 指針
2.3.1 指針概念的回顧
2.3.2 指針與0和void*
2.3.3 new和delete
2.4 引用
2.5 const常量
2.5.1 常量的定義
2.5.2 const與指針
2.5.3 const與引用
2.6 類型轉換
2.6.1 隱式類型轉換
2.6.2 顯式類型轉換
2.7 函數
2.7.1 函數原型
2.7.2 函數默認參數
2.7.3 函數與引用
2.7.4 函數與const
2.7.5 函數重載
2.8 內聯函數
2.9 Typedef
2.10 命名空間
2.11 預處理器
2.12 作用域和生命期
2.12.1 作用域
2.12.2 變量類型及生命期
2.12.3 變量初始化
2.12.4 局部變量與函數返回地址
2.13 文件輸入和輸出
2.14 編程實作
習題2
第3章 類與對象
3.1 結構與類
3.1.1 C++對結構的擴展
3.1.2 類
3.2 成員函數
3.2.1 成員函數的定義
3.2.2 常量成員函數
3.3 類與封裝
3.4 對象
3.5 構造函數
3.5.1 構造函數
3.5.2 無參構造函數
3.5.3 重載構造函數
3.5.4 拷貝構造函數
3.5.5 構造函數與初始化列表
3.6 析構函數
3.7 靜態成員
3.8 this指針
3.9 類對象成員
3.10 對象數組和對象指針
3.11 向函數傳遞對象
3.12 類的作用域和對象的生存期
3.13 友元
3.14 編程實作:類的接口與實現的分離
3.14.1 頭文件
3.14.2 源文件
3.14.3 對類的應用
習題3
第4章 繼承
4.1 繼承的概念
4.2 protected和繼承
4.3 繼承方式
4.4 基類與派生類的關系
4.4.1 成員函數的重定義和名字隱藏
4.4.2 基類成員訪問
4.5 構造函數和析構函數
4.5.1 派生類構造函數、析構函數的定義和調用次序
4.5.2 構造函數和析構函數的構造規則
4.5 多繼承
4.5.1 多繼承的概念和應用
4.5.2 多繼承方式下成員名的二義性
4.5.3 多繼承的構造函數與析構函數
4.6 虛擬繼承
4.7 基類與派生類對象的關系
4.8 繼承與組合
4.9 編程實作
習題4
第5章 多態性
5.1 靜態綁定和動態綁定
5.2 虛函數
5.2.1 虛函數的意義
5.2.2 虛函數的特性
5.3 虛析構函數
5.4 純虛函數與抽象類
5.4.1 純虛函數和抽象類
5.4.3 抽象類的應用
5.4 運行時類型信息
5.4.1 dynamic_cast
5.4.2 typeid
5.5 編程實作
習題5
第6章 運算符重載
6.1 運算符重載基礎
6.2 重載二元運算符
6.2.1 類與二元運算符重載
6.2.2 友元二元運算符重載的特殊用途
6.3 重載一元運算符
6.3.1 作為成員函數重載
6.3.2 作為友元函數重載
6.4 特殊運算符重載
6.4.1 運算符++和--的重載
6.4.2 重載賦值運算符=
6.4.3 重載[]
6.4.4 類與其他數據類型之間的轉換
6.5 輸入/輸出運算符重載
6.5.1 重載輸出運算符<<
6.5.2 重載輸入運算符>>
6.5.3 重載運算符<<和>>舉例
6.6 編程實作
習題6
第7章 模板與STL
7.1 模板概念
7.2 函數模板與模板函數
7.2.1 函數模板的定義
7.2.2 函數模板的實例化
7.2.3 模板參數
7.3 類模板
7.3.1 類模板的概念
7.3.2 類模板的定義
7.3.3 類模板實例化
7.3.4 類模板的使用
7.4 STL
7.4.1 容器
7.4.2 迭代器
7.4.3 關聯式容器
7.4.4 算法
7.5 編程實作
習題7
第8章 異常
8.1 異常處理概述
8.2 C++異常處理基礎
8.2.1 異常處理的結構
8.2.2 異常捕獲
8.3 異常與函數
8.4 異常處理的幾種特殊情況
8.5 異常和類
8.5.1 構造函數與異常
8.5.2 異常類
8.5.3 派生異常類的處理
習題8
第9章 文件與流
9.1 C++ I/O流及流類庫
9.2 使用I/O成員函數
9.2.1 Istream流中的常用成員函數
9.2.2 Ostream流中的常用成員函數
9.2.3 數據輸入、輸出的格式控制
9.3 文件操作
9.3.1 文件與流
9.3.2 二進制文件
9.3.3 隨機文件
習題9
第10章 C++ Windows程序設計基礎
10.1 Windows程序設計基礎
10.1.1 窗口
10.1.2 事件驅動和消息響應
10.1.3 Windows程序的文件構成
10.1.4 Visual C++的Windows程序設計方法
10.2 Windows程序設計的常用數據結構
10.3 Windows程序的基本結構
10.4 Windows程序的控制流程
10.5 Windows程序的數據輸出
10.6 消息驅動程序設計
習題10
第11章 MFC程序設計
11.1 MFC程序基礎
11.1.1 MFC類
11.1.2 MFC程序的結構
11.1.3 MFC程序的執行流程
11.1.4 消息映射
11.2 應用程序框架
11.2.1 應用程序框架的概念
11.2.2 用向導建立應用程序框架
11.2.3 應用程序框架的結構
11.2.4 應用程序框架類之間的關系
11.3 MFC程序的數據輸出
11.3.1 MFC中的圖形類
11.3.2 繪圖對象
11.3.3 用MFC向導添加消息映射函數
11.3.4 OnPaint函數與輸出
11.4 對話框
11.4.1 對話框的類型
11.4.2 用資源編輯器建立對話框
11.5 菜單和工具欄
11.5.1 直接修改應用程序框架的菜單
11.5.2 建立新菜單欄
11.5.3 工具欄操作
11.6 視圖與文檔
習題11
第12章 綜合程序設計
12.1 在應用程序框架中包含并修改自定義類
12.2 在事件函數中操作類對象
12.3 添加對話框
12.4 添加程序菜單
12.5 文檔序列化
習題12
參考文獻