C++是目前最流行且被廣泛應用的程序設計語言之一,它的高效率和面向對象技術備受推崇。本書由淺入深、循序漸進地講解了C++的各個知識點,并結合一些實用的知識講解了C++的主要應用。全書內容包括C++的發展歷史和特點,基本元素與結構,運算符、標點符號和表達式,控制語句與控制結構,數組,函數,指針與引用,自定義類型與字符串,面向對象設計思想和類,重載技術,繼承與派生,虛函數與多態性,模板與命名空間,標準模板庫,輸入輸出體系,異常處理,API編程和MFC框架,多線程處理,鏈接庫,基本算法,數據結構,數據庫編程,網絡編程等。為了使讀者能夠真正掌握C++的應用,書中最后兩章通過建立兩個實用的程序來介紹C++的具體應用。本書配光盤一張,內容為本書教學視頻、源代碼、教學PPT及習題參考答案。本書適合C++初學者、具有一定C語言或者C++語言基礎的中級學習者、學習C++的大中專院校的學生使用,同時也可以作為各高校C++教師的教學參考書。
第一篇 基礎篇
第1章 概述
1.1 計算機程序設計語言概述
1.2 了解C++
1.2.1 發展歷史和特點
1.2.2 程序的構成
1.2.3 C++的用途
1.2.4 C++和Visual C++
1.3 開發環境
1.3.1 開發系統組成和開發流程
1.3.2 典型C++開發環境
1.3.3 安裝Visual C++ 6.0
1.3.4 第一個C++程序:Hello World!
1.4 C++學習建議
1.5 小結
第一篇 基礎篇
第1章 概述
1.1 計算機程序設計語言概述
1.2 了解C++
1.2.1 發展歷史和特點
1.2.2 程序的構成
1.2.3 C++的用途
1.2.4 C++和Visual C++
1.3 開發環境
1.3.1 開發系統組成和開發流程
1.3.2 典型C++開發環境
1.3.3 安裝Visual C++ 6.0
1.3.4 第一個C++程序:Hello World!
1.4 C++學習建議
1.5 小結
1.6 習題
1.7 實訓
第2章 基本元素與結構
2.1 數據類型
2.1.1 整型
2.1.2 字符型
2.1.3 布爾型
2.1.4 浮點型
2.2 常量和變量
2.2.1 常量
2.2.2 變量
2.3 基本元素
2.3.1 關鍵字
2.3.2 標識符
2.4 基本結構
2.4.1 main函數
2.4.2 預處理命令
2.4.3 基本輸入輸出
2.4.4 注釋
2.5 本章實例
2.6 小結
2.7 習題
2.8 實訓
第3章 運算符、標點符號和表達式
3.1 運算符
3.1.1 算術運算符
3.1.2 關系運算符
3.1.3 邏輯運算符
3.1.4 運算符優先級和結合律
3.2 標點符號
3.3 表達式
3.4 本章實例
3.5 小結
3.6 習題
3.7 實訓
第4章 控制語句與控制結構
4.1 流程圖
4.2 順序結構
4.3 選擇結構
4.3.1 if語句
4.3.2 switch語句
4.4 循環結構
4.4.1 利用goto語句和if語句構成循環
4.4.2 while語句
4.4.3 do-while語句
4.4.4 for語句
4.4.5 break語句
4.4.6 continue語句
4.5 本章實例
4.6 小結
4.7 習題
4.8 實訓
第5章 數組
5.1 一維數組的概念和存儲
5.1.1 一維數組的定義和初始化
5.1.2 一維數組的輸入和輸出
5.1.3 一維數組的引用
5.1.4 一維數組內存結構和尋址
5.2 二維數組
5.2.1 二維數組的定義和初始化
5.2.2 二維數組的引用
5.2.3 二維數組內存結構和尋址
5.3 多維數組
5.3.1 多維數組的定義和初始化
5.3.2 多維數組的引用
5.3.3 多維數組內存結構和尋址
5.4 字符數組
5.4.1 字符數組的定義和初始化
5.4.2 字符數組的引用
5.4.3 利用字符數組操作字符串
5.5 本章實例
5.6 小結
5.7 習題
5.8 實訓
第6章 函數
6.1 函數的概念和定義
6.2 函數原型
6.3 函數調用
6.4 函數參數
6.4.1 函數參數傳遞方式
6.4.2 main( )函數的參數
6.4.3 省略符形參
6.5 函數作用域規則
6.5.1 作用域
6.5.2 局部變量
6.5.3 全局變量
6.6 函數的嵌套與遞歸調用
6.7 內聯函數
6.8 函數的模板
6.9 本章實例
6.10 小結
6.11 習題
6.12 實訓
第7章 指針與引用
7.1 指針的概念和基本用法
7.1.1 指針的概念
7.1.2 指針變量的聲明
7.1.3 地址運算符
7.1.4 指針的賦值
7.1.5 指針運算
7.1.6 const指針
7.1.7 void指針
7.1.8 指針的指針
7.2 指針與數組
7.2.1 指針數組
7.2.2 數組名以及下標和指針的關系
7.3 指針與函數
7.3.1 指針作為函數參數
7.3.2 指針函數
7.3.3 指向函數的指針
7.4 指針和動態內存的分配
7.4.1 C++內存分配機制
7.4.2 C++風格的動態內存分配方法
7.4.3 C風格的動態內存分配方法
7.4.4 動態內存分配陷阱
7.4.5 動態內存的傳遞
7.5 引用
7.5.1 引用的概念和基本用法
7.5.2 引用作為函數參數
7.5.3 引用作為返回值
7.6 本章實例
7.7 小結
7.8 習題
7.9 實訓
第8章 自定義類型與字符串
8.1 結構體
8.1.1 結構體的概念和聲明
8.1.2 結構體變量的定義
8.1.3 結構體變量的初始化
8.1.4 結構體的使用
8.2 共用體
8.2.1 共用體類型及其變量
8.2.2 共用體的使用
8.3 枚舉類型
8.3.1 枚舉類型與枚舉變量
8.3.2 枚舉類型的使用
8.4 類型定義
8.5 字符串
8.5.1 C風格字符串處理
8.5.2 用指針操作字符串
8.5.3 C++字符串處理
8.5.4 常用字符串的操作函數
8.6 本章實例
8.7 小結
8.8 習題
8.9 實訓
第二篇 面向對象篇
第9章 面向對象設計思想和類
9.1 程序設計思想
9.1.1 結構化程序設計思想
9.1.2 面向對象程序設計思想
9.2 類
9.2.1 類的定義和組成
9.2.2 類成員的訪問控制
9.2.3 類實例和類成員訪問
9.2.4 類的作用域和對象的生存周期
9.2.5 this指針
9.2.6 靜態成員
9.2.7 常成員
9.3 構造函數和析構函數
9.3.1 構造函數
9.3.2 拷貝構造函數
9.3.3 默認拷貝構造函數
9.3.4 淺拷貝和深拷貝
9.3.5 析構函數
9.4 類的組合
9.4.1 類的組合的概念
9.4.2 組合類的構造函數和析構函數
9.4.3 組合類的初始化
9.5 友元函數和友元類
9.5.1 友元的需求性和定義
9.5.2 友元函數
9.5.3 友元類
9.6 本章實例
9.7 小結
9.8 習題
9.9 實訓
第10章 重載技術
10.1 重載函數
10.1.1 重載函數的概念和定義
10.1.2 重載函數的使用
10.2 運算符重載
10.2.1 運算符重載的需求
10.2.2 運算符重載的基本方法和規則
10.2.3 增減量運算符的重載
10.2.4 轉換運算符的重載
10.2.5 賦值運算符的重載
10.3 本章實例
10.4 小結
10.5 習題
10.6 實訓
第11章 繼承與派生
11.1 繼承與派生
11.1.1 繼承與派生的概念
11.1.2 派生類的聲明
11.1.3 生成派生類的步驟
11.2 繼承中的訪問控制
11.2.1 公用繼承的訪問控制
11.2.2 私有繼承的訪問控制
11.2.3 保護繼承的訪問控制
11.3 派生類的構造函數和析構函數
11.3.1 派生類的構造函數
11.3.2 派生類的析構函數
11.4 基類與派生類的相互作用
11.4.1 派生類成員的標識和訪問
11.4.2 基類和派生類賦值規則
11.5 多重繼承特性
11.5.1 多重繼承引起的二義性問題
11.5.2 虛擬繼承和虛基類
11.6 本章實例
11.7 小結
11.8 習題
11.9 實訓
第12章 虛函數與多態性
12.1 多態性
12.1.1 多態的概念和類型
12.1.2 多態的實現方式
12.2 虛函數
12.2.1 虛函數的概念和定義
12.2.2 虛函數的使用規則
12.3 純虛函數與抽象類
12.3.1 純虛函數
12.3.2 抽象類和抽象基類
12.4 本章實例
12.5 小結
12.6 習題
12.7 實訓
第13章 模板與命名空間
13.1 模板的概念與作用
13.1.1 模板的概念
13.1.2 模板的作用
13.2 函數模板
13.2.1 函數模板的定義和使用
13.2.2 重載模板函數
13.3 類模板
13.4 命名空間
13.4.1 程序中的命名沖突分析
13.4.2 命名空間的概念
13.4.3 命名空間的使用
13.4.4 標準命名空間std
13.4.5 C++頭文件的使用
13.5 本章實例
13.6 小結
13.7 習題
13.8 實訓
第14章 標準模板庫
14.1 泛型化編程與STL介紹
14.1.1 泛型化編程的概念
14.1.2 C++標準庫與STL的內容
14.2 STL的使用
14.2.1 容器
14.2.2 迭代器
14.2.3 算法
14.3 本章實例
14.4 小結
14.5 習題
14.6 實訓
第三篇 應用篇
第15章 輸入輸出體系
15.1 流的概念
15.1.1 C語言中I/O的弊端
15.1.2 流類
15.2 流對象和格式化輸出
15.2.1 預定義的流對象
15.2.2 流格式化輸出
15.3 重載流運算符
15.3.1 流運算符重載概述
15.3.2 插入運算符重載
15.3.3 提取運算符重載
15.4 文件操作
15.4.1 文件概述
15.4.2 文件操作基礎
15.4.3 打開和關閉文件
15.4.4 文本文件輸入輸出
15.4.5 二進制文件輸入輸出
15.4.6 文件定位
15.5 本章實例
15.6 小結
15.7 習題
15.8 實訓
第16章 異常處理
16.1 異常概述
16.1.1 異常的概念和分類
16.1.2 異常現象的舉例
16.2 異常處理機制
16.2.1 異常處理的任務
16.2.2 異常處理基本思想
16.2.3 異常處理的組成
16.2.4 異常處理的執行過程
16.3 析構函數與異常處理
16.4 本章實例
16.5 小結
16.6 習題
16.7 實訓
第17章 API編程和MFC框架
17.1 API編程介紹
17.1.1 認識API的編程
17.1.2 API函數的概念和作用
17.1.3 Windows API分類
17.1.4 Windows API基本術語
17.1.5 Windows API基本使用
17.2 MFC框架簡介
17.2.1 認識MFC的程序
17.2.2 MFC的編程框架
17.2.3 MFC的模板
17.2.4 MDI應用程序的構成
17.3 小結
17.4 習題
17.5 實訓
第18章 多線程處理
18.1 進程和線程
18.1.1 進程和線程的概念
18.1.2 線程的優先級
18.1.3 線程運行狀態
18.2 線程的操作
18.2.1 線程的建立
18.2.2 線程的優先級設定
18.2.3 線程的掛起、恢復
18.2.4 線程的結束
18.3 本章實例
18.4 小結
18.5 習題
18.6 實訓
第19章 鏈接庫
19.1 鏈接庫概述
19.2 靜態鏈接庫
19.2.1 靜態鏈接庫的編寫
19.2.2 靜態鏈接庫的使用
19.3 動態鏈接庫
19.3.1 DLL文件的編寫
19.3.2 導出DLL資源
19.4 動態鏈接庫的使用
19.4.1 隱式鏈接
19.4.2 顯式鏈接
19.5 小結
19.6 習題
19.7 實訓
第四篇 開發篇
第20章 基本算法
20.1 算法的概念和特征
20.1.1 算法的概念
20.1.2 算法的特征
20.1.3 算法的設計要求和描述方法
20.1.4 算法的衡量
20.2 常用算法
20.2.1 遞推法
20.2.2 遞歸法
20.2.3 回溯法
20.2.4 貪婪法
20.2.5 分治法
20.2.6 動態規劃法
20.2.7 迭代法
20.2.8 窮舉法
20.3 小結
20.4 習題
20.5 實訓
第21章 數據結構
21.1 線性表及其應用
21.2 鏈表及其應用
21.3 堆棧及其應用
21.4 隊列及其應用
21.5 特殊矩陣、廣義表及其應用
21.6 二叉樹及其應用
21.7 散列結構及其應用
21.8 圖及其應用
21.9 小結
21.10 習題
21.11 實訓
第22章 數據庫編程
22.1 概述
22.1.1 數據庫和數據庫系統
22.1.2 常見數據庫訪問技術
22.2 數據訪問接口ODBC
22.2.1 ODBC概述
22.2.2 ODBC API編程
22.3 MFC的ODBC編程
22.3.1 CDatabase和CRecordset類介紹
22.3.2 數據查詢
22.3.3 參數化數據查詢
22.3.4 新建數據
22.3.5 數據刪除
22.3.6 數據更新
22.3.7 直接執行SQL語句
22.4 小結
22.5 習題
第23章 網絡編程
23.1 網絡通信
23.1.1 網絡類型
23.1.2 網絡拓撲結構
23.2 網絡通信協議
23.2.1 TCP/IP結構
23.2.2 UDP協議
23.2.3 相關術語
23.3 SOCKET網絡編程接口
23.3.1 Socket模型
23.3.2 Socket的C/S編程方式
23.3.3 C++下的Socket
23.3.4 利用Socket建立服務器端程序
23.3.5 利用Socket建立客戶端程序
23.4 小結
23.5 習題
第24章 利用ADO實現簡單的學生信息管理系統
24.1 ADO簡介
24.1.1 ADO概述
24.1.2 MFC的ADO編程
24.1.3 ADO操作數據庫的基本步驟
24.2 程序的需求
24.3 程序的界面設計
24.4 程序的數據庫
24.5 核心程序實現分析
24.6 小結
24.7 習題
第25章 火車信息查詢系統
25.1 程序需求
25.2 程序界面
25.3 服務端程序
25.3.1 服務器通信類
25.3.2 建立接收線程
25.3.3 火車信息處理
25.3.4 發送和接收
25.4 客戶端程序
25.4.1 連接服務器并查詢
25.4.2 發送車次信息
25.4.3 接收服務器返回信息
25.5 小結
附錄 C++面試題目