內容簡介
本書是為具有C語言基礎的讀者編寫的,主要介紹C++面向對象程式設計的基本知識和編程方法,全面講述了C++面向對象的基本特徵。內容包括類、對象、繼承、派生類、多態性、虛函式、運算符重載、模板、輸入和輸出流類庫、異常處理和命名空間、面向對象程式設計方法與實例等。本書注重基本概念,從實際套用出發,突擊重點,淺入深出,敘述清楚,敘述詳盡。針對初學者的特點,力求通過大量的例題,以通俗易懂的語言講解複雜的概念和方法,以期幫助讀者儘快邁入面向對象程式設計的大門。
為了幫讀者進一步理解和掌握所學知識,同時出版了與本書配套的輔助教材《C++面向對象程式設計習題解答與上機指導(第二版)》。
本書內容全面、語言通俗、例題豐富,同時配有大量習題,適合作為高等院校各專業學生學習C++的基本教材,也適合初學者自學使用。
目錄
第1章 面向對象程式設計概述
1.1面向對象程式設計1.1.1什麼是面向對象程式設計
1.1.2面向對象程式設計的基本概念
1.1.3面向對象程式設計的基本特徵
1.2為什麼要使用面向對象程式設計
1.2.1面向過程程式的局限性
1.2.2面向對象程式設計的主要優點
1.3面向對象程式設計的程式
1.3.1面向對象程式設計語言的發展概況
1.3.2幾種典型的面向對象程式設計語言
本章小結
習題
第2章 C++基礎
2.1C++的產生和特點2.1.1C++的產生
2.1.2C++的特點
2.2C++程式的結構特性
2.2.1一個簡單的C++示例程式
2.2.2C++程式的結構特性
2.3C++程式的編輯、編譯、連線和運行
2.4C++在非面向對象方面對C的擴充
2.4.1注釋行
2.4.2C++的輸入和輸出
2.4.3靈活的變數聲明
2.4.4結構、聯合和枚舉名
2.4.5函式原型
2.4.6const修飾符
2.4.7void型指針
2.4.8內聯函式
2.4.9帶有默認參數值的函式
2.4.10函式重載
2.4.11作用域標識符
2.4.12強制類型轉換
2.4.13new和delete
2.4.14引用
本章小結
習題
第3章類和對象(一)
3.1類的構成3.1.1從結構體到類
3.1.2類的構成
3.2成員函式的定義
3.2.1普通成員函式的定義
3.2.2內聯成員函式的定義
3.3對象的定義和使用
3.3.1類與對象的關係
3.3.2對象的定義
3.3.3對象中成員的訪問
3.3.4類的作用域和類成員的訪問屬性
3.3.5對象賦值語句
3.4構造函式與析構函式
3.4.1構造函式
3.4.2成員初始化列表
3.4.3帶默認參數的構造函式
3.4.4析構函式
3.4.5默認的構造函式和默認的析構函式
3.4.6構造函式的重載
3.4.7拷貝構造函式
* 3.4.8淺拷貝和深拷貝
本章小結
習題
第4章類和對象(二)
4.1自引用指針this4.2對象數組與對象指針
4.2.1對象數組
4.2.2對象指針
4.2.3string類
4.3向函式傳遞對象
4.3.1使用對象作為函式參數
4.3.2使用對象指針作為函式參數
4.3.3使用對象引用作為函式參數
4.4靜態成員
4.4.1靜態數據成員
4.4.2靜態成員函式
4.5友元
4.5.1友元函式
4.5.2友元類
4.6類的組合
*4.7共享數據的保護
4.7.1常引用
4.7.2常對象
4.7.3常對象成員
*4.8C++程式的多檔案組成
4.9程式舉例
本章小結
習題
第5章繼承與派生
5.1繼承與派生的概念5.1.1為什麼要使用繼承
5.1.2派生類的聲明
5.1.3基類成員在派生類中的訪問屬性
5.1.4派生類對基類成員的訪問規則
5.2派生類的構造函式和析構函式
5.2.1派生類構造函式和析構函式的調用順序
5.2.2派生類構造函式和析構函式的構造規則
*5.3調整基類成員在派生類中的訪問屬性的其他方法
5.3.1同名成員
5.3.2訪問聲明
5.4多繼承與虛基類
5.4.1聲明多繼承派生類的方法
5.4.2多繼承派生類的構造函式與析構函式
5.4.3虛基類
*5.5賦值兼容規則
5.6程式舉例
本章小結
習題
第6章多態性與虛函式
6.1多態性概述6.2虛函式
6.2.1虛函式的引入
6.2.2虛函式的作用和定義
*6.2.3虛析構函式
6.2.4虛函式與重載函式的關係
6.2.5多繼承與虛函式
6.3純虛函式和抽象類
6.3.1純虛函式
6.3.2抽象類
6.4程式舉例
本章小結
習題
第7章運算符重載
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重載插入運算符和提取運算符
7.4.1重載插入運算符“<<”
7.4.2 重載插入運算符“>>”
7.5 類型轉換
7.5.1 標準類型間的轉換
*7.5.2 類類型與標準類型間的轉換
7.6 程式舉例
本章小結
習題
第8章 函式模板與類模板
8.1模板的概念8.2函式模板
8.2.1函式模板的聲明
8.2.2函式模板的使用
8.3類模板
8.4程式舉例
本章小結
習題
第9章C++的輸入和輸出
9.1C++為何建立自己的輸入輸出系統9.2C++的流庫及其基本結構
9.2.1C++的流
9.2.2預定義的流對象
9.2.3輸入輸出流的成員函式
9.3預定義類型輸入輸出的格式控制
9.3.1用流成員函式進行輸入輸出格式控制
9.3.2使用預定義的操縱符進行輸入輸出格式控制
9.3.3使用用戶自定義的操縱符進行輸入輸出格式控制
9.4檔案的輸入輸出
9.4.1檔案的概述
9.4.2檔案的打開與關閉
9.4.3文本檔案的讀寫
9.4.4二進制檔案的讀寫
9.5程式舉例
本章小結
習題
第10章異常處理和命名空間
10.1異常處理10.1.1異常處理概述
10.1.2異常處理的方法
10.2命名空間和頭檔案命名規則
10.2.1命名空間
10.2.2頭檔案命名規則
本章小結
習題
*第11章面向對象程式設計方法與實例
11.1面向對象程式設計的一般方法與技巧11.2設計實例
11.2.1舉例:模擬網上購書的結賬功能
11.2.2舉例:模擬ATM機為用戶提供服務
本章小結
習題