第1章 C++的初步知識
1.1 從C到C++
1.2 最簡單的C++程序
1.3 C++對C的擴充
1.3.1 C++的輸入輸出
1.3.2 用const定義常變量
1.3.3 函數原型聲明
1.3.4 函數的重載
1.3.5 函數模塊
1.3.6 函數模塊
1.3.7 有默認參數的函數
1.3.8 變量的引用
1.3.9 作用域運算符
1.3.10 字符串變量
1.3.11 動態(tài)分配/撤銷內存的運算符new和delete
1.3.12 小結
1.4 C++程序的編寫和實現
1.5 關于C++上機實踐
習題
第2章 類和對象
2.1 面向對象程序設計方法概述
2.1.1 什么是面向對象的程程序設計
2.1.2 面向對象程序設計的特點
2.1.3 類和對象的作用
2.1.4 面向對象的軟件開發(fā)
2.2 類的聲明和對象的定義
2.2.1 類和對象的關系
2.2.2 聲明類類型
2.2.3 定義對象的方法
2.2.4 類和結構體類型的異同
2.3 類的成員函數
2.3.1 成員函數的性質
2.3.2 在類外定義成員函數
2.3.3 inline成員函數
2.3.4 成員函數的存儲方式
2.4 對象成員的引用
2.4.1 通過對象名和成員運算符訪問對象中的成員
2.4.2 通過指向對象的指針訪問對象中的成員
2.4.3 通過對象的引用來訪問對象中的成員
2.5 類和對象的簡單應用舉例
2.6 類的封裝性和信息隱藏
2.6.1 公用接口與私有實現的分離
2.6.2 類聲明和成員函數定義的分離
2.6.3 面向對象程序設計中的向個名詞
習題
第3章 關于類和對象的進一步討論
3.1 構造函數
3.1.1 對象的初始化
3.1.2 構造函數的作用
3.1.3 帶參數的構造函數
3.1.4 用參數初始化表對數據成員初始化
3.1.5 構造函數的重載
3.1.6 使用默認參數的構造函數
3.2 析構函數
3.3 調用構造函數和析構函數的順序
3.4 對象數組
3.5 對象指針
3.5.1 指向對象的指針
3.5.2 指向對象成員的指針
3.5.3 this指針
3.6 共用數據的保護
3.6.1 常對象
3.6.2 常對象成員
3.6.3 指向對象的常指針
3.6.4 指向常對象的指針變量
3.6.5 對象的常引用
3.6.6 const型數據的小結
3.7 對象的動態(tài)建立和釋放
3.8 對象的賦值和復制
3.8.1 對象的賦值
3.8.2 對象的復制
3.9 靜態(tài)成員
3.9.1 靜態(tài)數據成員
3.9.2 靜態(tài)成員函數
3.10 友元
3.10.1 友元函數
3.10.2 友元類
3.11 類模板
習題
第4章 運算符重載
4.1 什么是運算符重載
4.2 運算符重載的方法
4.3 重載運算符的規(guī)則
4.4 運算符重載函數作為類成員函數和友元函數
4.5 重載雙目運算符
4.6 重載單目運算符
4.7 重載流插入運算符和流提取運算符
4.7.1 重載流插入運算符
4.7.2 重載流提取運算符
4.8 不同類型數據間的轉換
4.8.1 標準類型數據間的轉換
4.8.2 轉換構造函數
4.8.3 類型轉換函數
習題
第5章 繼承與派生
5.1 繼承與派生的概念
5.2 派生類的聲明方式
5.3 派生類的構成
5.4 派生類成員的訪問屬性
5.4.1 公用繼承
5.4.2 私有繼承
5.4.3 保護成員和保護繼承
5.4.4 多級派生時的訪部屬性
5.5 派生類的構造函數和析構函數
5.5.1 簡單的派生類的構造函數
5.5.2 有子對象的派生類的構造函數
5.5.3 多層派生時的構造函數
5.5.4 派生類構造函數的特殊形式
5.5.5 派生類的析構函數
5.6 多重繼承
5.6.1 聲明多重繼承的方法
5.6.2 多重繼承派生類的構造函數
5.6.3 多重繼承引起的二義性問題
5.6.4 虛基類
5.7 基類與派生類的轉換
5.8 繼承與組合
5.9 繼承在軟件開發(fā)中的重要意義
習題
第6章 多態(tài)性與虛函數
6.1 多態(tài)性的概念
6.2 一個典型的例子
6.3 虛函數
6.3.1 虛函數的作用
6.3.2 靜態(tài)關聯與動態(tài)關聯
6.3.3 在什么情況下應當聲明虛函數
6.3.4 虛析構函數
6.4 純虛函數與抽象類
6.4.1 純虛函數
6.4.2 抽象類
6.4.3 應用實例
習題
第7章 輸入輸入出流
7.1 C++的輸入和輸出
7.1.1 輸入輸出的含義
7.1.2 C++的I/O對C的發(fā)展——類型安全和可擴展性
7.1.3 C++的輸入輸出流
7.2 標準輸出流
7.2.1 cout,cerr和clog流
7.2.2 格式輸出
7.2.3 用流成員函數put輸出字符
7.3 標準輸入流
7.3.1 cin流
7.3.2 用于字符輸入的流成員函數
7.3.3 istream類的其他成員函數
7.4 文件操作與文件流
7.4.1 文件的概念
7.4.2 文件流類與文件流對象
7.4.3 文件的打開與關閉
7.4.4 對ASCII文件的操作
7.4.5 對二進制文件的操作
7.5 字符串流
習題
第8章 C++工具
8.1 異常處理
8.1.1 異常處理的任務
8.1.2 異常處理的方法
8.1.3 在函數聲明中進行異常情況指定
8.1.4 在異常處理中處理析構函數
8.2 命名空間
8.2.1 為什么需要命名空間
8.2.2 什么是命名空間
8.2.3 使用命名空間解決名字沖突
8.2.4 使用命名空間成員的方法
8.2.5 無名的命名空間
8.2.6 標準命名名空間std
8.3 使用早期的函數庫
習題
附錄A 常用字符與ASCII代碼對照表
附錄B 運算符與結合性
參考文獻