目 錄
前言
第1章 面向對象方法學導論 1
1.1 面向過程的程序設計方法 1
1.1.1 計算機的工作原理 1
1.1.2 面向過程程序設計方法 2
1.2 面向對象程序設計方法 4
1.3 面向對象方法的基本概念 7
1.3.1 對象、類、實例 7
1.3.2 消息傳遞 8
1.3.3 類的基本特征:封裝、繼承和多態 8
1.4 面向對象的開發過程 10
1.4.1 面向對象的分析和設計 11
1.4.2 面向對象的實現 16
1.4.3 面向對象的典型方法 16
1.5 舉例 18
1.6 面向對象程序設計方法的優點 20
1.7 C++語言的發展 20
1.8 Visual C++開發與調試環境 20
1.8.1 Visual C++控制臺開發環境 21
1.8.2 Visual C++基本的錯誤調試方法 24
1.8.3 Visual C++的模塊調試方法 25
1.9 Dev C++開發環境 26
習題 26
實驗:面向過程程序設計與面向對象
程序設計 26
第2章 C++語言基礎一 27
2.1 標識符和關鍵字 27
2.2 數據類型、變量及常量 27
2.2.1 基本數據類型 27
2.2.2 變量 28
2.2.3 常量 28
2.2.4 構造類型 29
2.2.5 指針類型 33
2.2.6 內存的動態分配與回收 34
2.3 函數 35
2.4 基本語句 36
2.4.1 聲明語句與定義語句 36
2.4.2 注釋語句 37
2.4.3 類型定義語句typedef 37
2.4.4 程序預處理語句 38
2.4.5 輸入/輸出語句 39
2.4.6 表達式語句 40
2.4.7 控制語句 44
實驗:C++基礎 47
第3章 C++語言基礎二 49
3.1 C++程序入口 49
3.2 命名空間using namespace 50
3.3 輸入/輸出 51
3.4 C++語言的程序結構 52
3.4.1 C++程序結構 52
3.4.2 變量的作用域 53
3.5 C++的其他新特性 54
3.5.1 內存的動態分配與回收 54
3.5.2 引用 56
3.5.3 string類型 57
3.5.4 函數默認值 58
3.5.5 函數調用 58
3.5.6 內聯函數 60
3.5.7 函數重載 61
習題 63
實驗:C++基礎 65
第4章 封裝性 67
4.1 類的定義和一般調用 67
4.1.1 類的定義 67
4.1.2 一般數據成員的定義 68
4.1.3 一般成員函數的定義 70
4.1.4 類的調用 71
4.1.5 用訪問控制實現信息隱藏 72
4.2 特殊的數據成員和成員函數 73
4.2.1 構造函數和析構函數 73
4.2.2 常數據成員 79
4.2.3 靜態數據成員和靜態成員函數 80
4.2.4 對象成員 82
4.3 對象數組和常對象 86
4.3.1 對象數組 86
4.3.2 const對象 87
4.4 自引用指針this 87
4.5 封裝機制的破壞之友元 90
習題 92
實驗:類的定義及調用 95
第5章 繼承性 96
5.1 繼承與派生的概念 96
5.2 派生類的定義格式及其繼承方式 97
5.2.1 派生類的定義格式 97
5.2.2 繼承方式 99
5.3 派生類對象的初始化 105
5.4 多重繼承 108
5.4.1 多重繼承的定義格式 108
5.4.2 多重繼承的初始化 108
5.4.3 多重繼承的二義性 110
5.4.4 虛基類 113
5.5 賦值兼容性 115
習題 117
實驗:繼承與派生 120
第6章 運算符重載 121
6.1 函數重載 121
6.2 運算符重載 122
6.2.1 運算符重載為類的成員函數 122
6.2.2 運算符重載為類的友元函數 124
6.2.3 重載賦值運算符 128
6.2.4 類類型轉換 130
習題 132
實驗:運算符重載 134
第7章 多態性 135
7.1 多態性概述 135
7.2 運行時的多態性 136
7.3 虛析構函數 142
7.4 純虛函數和抽象類 143
7.5 應用實例 144
習題 150
實驗:多態性 152
第8章 模板和STL 153
8.1 模板的概念 153
8.2 函數模板 154
8.3 類模板 157
8.4 STL 160
8.4.1 C++標準庫和STL簡介 160
8.4.2 vector 162
8.4.3 STL的使用 164
8.4.4 STL算法 169
8.4.5 綜合應用 171
習題 174
實驗:模板 174
第9章 異常處理 175
9.1 異常處理的基本思想 175
9.2 C++中異常處理的方法 176
9.2.1 異常的拋出 177
9.2.2 捕獲異常 177
9.2.3 異常說明書 181
習題 182
實驗:異常處理 183
第10章 輸入/輸出流 184
10.1 輸入/輸出流概述 184
10.1.1 基本的流操作:cin和cout 184
10.1.2 C++的流類庫 184
10.2 輸入/輸出流 186
10.2.1 輸出流 186
10.2.2 輸入流 187
10.2.3 格式化輸出 188
10.3 磁盤文件的輸入/輸出 192
10.3.1 文件的打開和關閉 192
10.3.2 文件指針 193
10.3.3 文本文件的讀寫 194
10.3.4 二進制文件的讀寫 195
10.3.5 操作文件流的常用方法 195
習題 201
實驗:I/O流 203
第11章 Windows編程初步知識 204
11.1 Windows編程機制 204
11.2 MFC和應用程序框架 207
11.3 基于對話框輸入/輸出對象數據 211
實驗:Windows編程初步 216
第12章 綜合設計與實現 217
12.1 Hash表的使用 217
12.2 小型超市的商品銷售管理系統 222
12.2.1 系統需求 222
12.2.2 分析與設計 222
12.2.3 實現 226
12.3 小型公司的工資管理系統 234
12.3.1 系統需求 234
12.3.2 分析與設計 235
12.3.3 實現 236
綜合實驗 242
常用術語中英文對照表 244
參考文獻 248