第一章 概述
1.1 面向對象基礎
1.1.1 面向對象方法的形成
1.1.2 面向對象的基本概念
1.2 C++概述
1.2.1 C++的起源及特點
1.2.2 C++對面向對象的支持
1.3 程序舉例
1.4 C++的詞法記號
1.4.1 字符集
1.4.2 詞法記號
1.4.3 空白
1.5 C++程序的編輯和運行
1.5.1 編輯
1.5.2 編譯
1.5.2 連接
1.5.4 運行
練習題
第二章 數據類型、運算符和表達式
2.1 數據類型
2.1.1 基本數據類型
2.1.2 類型修飾符
2.2 常量與變量
2.2.1 常量
2.2.2 變量
2.3 運算符
2.3.1 算術運算符
2.3.2 關系運算符與邏輯運算符
2.3.3 位運算
2.3.4 賦值運算符
2.3.5 其他運算符
2.4 運算符的優(yōu)先級與結合性
2.5 混合運算與類型轉換
2.5.1 自動類型轉換
2.5.2 強制類型轉換
練習題
第三章 C++中的控制語句
3.1 程序語句和3種基本結構
3.1.1 語句
3.1.2 程序的3種基本結構
3.2 if語句
3.2.1 單分支if語句
3.2.2 雙分支if-else語句
3.2.3 else-if語句
3.2.4 if嵌套中的問題
3.3 switch多路開關語句
3.4 循環(huán)控制語句
3.4.1 while語句
3.4.2 do-while語句
3.4.3 for語句
3.4.4 循環(huán)嵌套
3.5 轉向語句
3.5.1 break語句
3.5.2 continue語句
3.5.3 goto語句
3.6 程序舉例
練習題
第四章 數組類型與枚舉類型
4.1 數組類型
4.1.1 一維數組
4.1.2 二維數組
4.1.3 字符數組
4.2 枚舉類型
4.2.1 說明枚舉模式
4.2.2 定義枚舉變量
練習題
第五章 指針與引用
5.1 指針的概念
5.1.1 指針的定義
5.1.2 指針賦值與使用
5.1.3 指針初始化
5.1.4 指針運算
5.1.5 指向指針的指針
5.2 指針與數組
5.2.1 指針與一維數組
5.2.2 指針與二維數組
5.3 指針與字符串
5.4 指針數組
5.5 動態(tài)內存分配
5.5.1 動態(tài)內存分配的概念
5.5.2 用new和delete進行動態(tài)內存分配
5.5.3 指針使用中的兩個問題
5.6 引用
練習題
第六章 函數
6.1 函數定義與調用
6.1.1 函數的概念
6.1.2 函數定義
6.1.3 函數調用
6.1.4 函數原型聲明
6.2 函數調用中的參數傳遞
6.2.1 傳值調用
6.2.2 傳址調用
6.2.3 傳引用調用
6.2.4 使用缺省形參
6.2.5 函數參數的求值順序
6.3 數組作為函數的參數
6.4 指針與函數
6.4.1 返回指針的函數
6.4.2 指向函數的指針
6.5 函數嵌套調用與遞歸調用
6.5.1 函數的嵌套調用
6.5.2 函數的遞歸調用
6.6 內聯(lián)函數inline
6.7 函數重載
6.8 C++中的系統(tǒng)函數
6.8.1 常用數學函數
6.8.2 常用字符串函數
6.8.3 其他常用系統(tǒng)函數
6.9 存儲類型
6.9.1 自動變量
6.9.2 外部變量
6.9.3 靜態(tài)變量
6.9.4 寄存器變量
6.9.5 外部函數與內部函數
6.9.6 其他幾個需要說明的問題
練習題
第七章 C++中的預處理命令
7.1 宏替換命令
7.2 文件包含命令
7.3 條件編譯命令
練習題
第八章 類和對象(一)
8.1 類的定義
8.1.1 類的說明部分
8.1.2 成員函數的定義
8.2 定義對象——類的實例化
8.2.1 對象的定義
8.2.2 訪問對象的成員
8.3 類的公有成員與私有成員——數據封裝
8.4 接口與實現(xiàn)分離
8.5 構造函數和析構函數
8.5.1 構造函數
8.5.2 缺省構造函數
8.5.3 析構函數
8.5.4 拷貝構造函數
8.5.5 應用舉例——串類String
8.6 用對象作為類的成員——子對象
8.7 類作用域
練習題
第九章 類和對象(二)
9.1 成員函數的內聯(lián)實現(xiàn)
9.2 靜態(tài)成員
9.2.1 靜態(tài)數據成員
9.2.2 靜態(tài)成員函數
9.3 友元
9.3.1 友元函數
9.3.2 友元類
9.4 對象數組
9.5 指向對象的指針和對象引用
9.5.1 指向對象的指針
9.5.2 對象指針和對象引用作為函數的參數
9.5.3 this指針
9.5.4 動態(tài)對象
9.6 const關鍵字
9.6.1 const常量
9.6.2 const指針
9.6.3 用const修飾函數的形參
9.6.4 const對象與const成員函數
練習題
第十章 繼承與派生
10.1 繼承的概念
10.2 單繼承
10.2.1 定義單繼承
10.2.2 保護成員
10.2.3 繼承方式
10.2.4 在派生類中重新定義基類成員
10.2.5 派生類中的構造函數和析構函數
10.3 多繼承
10.3.1 定義多繼承
10.3.2 多繼承中的構造函數和橋構函數
10.3.3 多繼承中的二義性問題
10.4 虛基類
10.4.1 虛基類的概念
10.4.2 虛基類中的構造函數
練習題
第十一章 虛函數與多態(tài)性
11.1 子類型
11.1.1 子類型的概念
11.1.2 用基類指針指向公有派生類對象
11.2 虛函數
11.2.1 引入虛函數的概念
11.2.2 定義虛函數
11.2.3 虛函數與函數重載
11.2.4 靜態(tài)聯(lián)編與動態(tài)聯(lián)編
11.3 純虛函數與抽象類
11.3.1 純虛函數
11.3.2 抽象類
11.4 虛析構函數
練習題
第十二章 運算符重載
12.1 概述
12.2 用成員函數方式重載
12.3 用友元方式重載
12.4 重載++和--
12.5 重載賦值運算符“=”
12.5.1 重載賦值運算符的方法
12.5.2 類對象賦值中需要注意的問題
12.6 重載[]和()
12.6.1 重載下標運算符[]
12.6.2 重載函數調用運算符()
12.7 類型轉換
12.7.1 類型轉換構造函數
12.7.2 類型轉換成員函數
12.8 運算符重載舉例——字符串類
練習題
第十三章 C++的I/O流庫
13.1 C++流庫的結構
13.1.1 streambuf類
13.1.2 ios類
13.2 一般輸入/輸出操作
13.2.1 插入運算符(<<)和提取運算符(>>)
13.2.2 重載插入運算符和提取運算符
13.2.3 使用成員函數get和put
13.2.4 使用成員函數write和read
13.2.5 成員函數ignore、putback和peek
13.3 格式化輸人和輸出
13.3.1 設置格式狀態(tài)標志
13.3.2 格式輸出函數
13.3.3 操作子
13.4 磁盤文件的輸入輸出操作
13.4.1 文件的打開和關閉
13.4.2 文件讀寫操作
13.4.3 隨機訪問數據文件
13.5 流錯誤處理
練習題
附錄一 《C++程序設計》教學大綱
附錄二 上機實驗
附錄三 ASCII碼表
參考文獻