《C++面向對象程式設計教程(第4版)》是由陳維興、林小茶編著,2018年清華大學出版社出版的普通高等教育“十一五”國家級規劃教材、北京高等教育精品教材。該教材適合作為高等院校各專業學生學習C++的基礎教材,也適合初學者自學使用。
該教材是為具有C語言基礎的讀者編寫的,主要介紹C++面向對象程式設計的基本知識和編程方法,全面講述了C++面向對象的基本特徵。
基本介紹
- 書名:C++面向對象程式設計教程(第4版)
- 作者:陳維興、林小茶
- 類別:普通高等教育“十一五”國家級規劃教材、北京高等教育精品教材
- 出版社:清華大學出版社
- 出版時間:2018年10月1日
- 頁數:362 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302503712
- 字數:575千字
- CIP核字號:2018118076
成書過程
修訂情況
- 該教材中所有程式重新在VisualC++2010中調試通過,對於仍在使用VisualC++6.0作為調試環境的讀者,大部分程式都能運行,而有些程式的第一行必須改為“#include<iostream.h>”程式才能通過調試,書中有相應的提示;
- 增加了“STL標準模板庫”一章,對於有一定程式設計基礎的讀者來說,掌握這部分內容可以提高編程效率,因為標準模板庫中提供了對常用數據結構的操作,如表、棧和佇列等;
- 刪掉了一些不是十分必要的內容和案例,增加了一些新的、更實用的案例和內容。
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
柳萍 | 何鳳霞 | 王淑雲 | 叢懷宇 |
內容簡介
教材目錄
第1章面向對象程式設計概述1 1.1什麼是面向對象程式設計1 1.1.1一種新的程式設計范型1 1.1.2面向對象程式設計的基本概念2 1.1.3面向對象程式設計的基本特徵4 1.2為什麼要使用面向對象程式設計8 1.2.1傳統程式設計方法的局限性8 1.2.2面向對象程式設計方法的主要優點9 1.3面向對象程式設計的語言11 1.3.1面向對象程式設計語言的發展概況11 1.3.2幾種典型的面向對象程式設計語言12 習題13 第2章C++概述14 2.1C++的起源和特點14 2.1.1C++的起源14 2.1.2C++語言的特點15 2.2C++源程式的構成15 2.2.1簡單的C++程式15 2.2.2C++程式的結構特性17 2.2.3C++程式的編輯、編譯、連線和運行18 2.3C++在非面向對象方面的擴充18 2.3.1注釋行19 2.3.2C++的輸入輸出19 2.3.3靈活的局部變數說明21 2.3.4結構名、聯合名和枚舉名可直接作為類型名22 2.3.5const修飾符22 2.3.6函式原型25 2.3.7內聯函式27 2.3.8帶有默認參數的函式30 2.3.9函式的重載31 2.3.10作用域運算符“∷”33 2.3.11無名聯合34 2.3.12強制類型轉換35 2.3.13運算符new和delete35 2.3.14引用38 習題44 第3章類和對象48 3.1類與對象的基本概念48 3.1.1結構體與類48 3.1.2成員函式的定義53 3.1.3對象的定義及使用56 3.1.4類的作用域和類成員的訪問屬性59 3.2構造函式與析構函式60 3.2.1對象的初始化和構造函式60 3.2.2用成員初始化列表對數據成員初始化65 3.2.3構造函式的重載67 3.2.4帶默認參數的構造函式71 3.2.5析構函式72 3.3對象數組與對象指針75 3.3.1對象數組75 3.3.2對象指針78 3.3.3this指針80 3.4string類83 3.5向函式傳遞對象85 3.5.1使用對象作為函式參數85 3.5.2使用對象指針作為函式參數86 3.5.3使用對象引用作為函式參數87 3.6對象的賦值和複製88 3.6.1對象賦值語句88 3.6.2拷貝構造函式89 3.7靜態成員96 3.7.1靜態數據成員96 3.7.2靜態成員函式101 3.8友元105 3.8.1友元函式105 3.8.2友元類110 3.9類的組合112 3.10常類型117 3.10.1常引用117 3.10.2常對象118 3.10.3常對象成員119 習題122 第4章派生類與繼承135 4.1派生類的概念135 4.1.1為什麼要使用繼承135 4.1.2派生類的聲明137 4.1.3派生類的構成138 4.1.4基類成員在派生類中的訪問屬性139 4.1.5派生類對基類成員的訪問規則140 4.2派生類的構造函式和析構函式148 4.2.1派生類構造函式和析構函式的執行順序149 4.2.2派生類構造函式和析構函式的構造規則150 | 4.3調整基類成員在派生類中的訪問屬性的其他方法157 4.3.1同名成員157 4.3.2訪問聲明159 4.4多重繼承163 4.4.1多重繼承派生類的聲明163 4.4.2多重繼承派生類的構造函式與析構函式165 4.4.3虛基類169 4.5基類與派生類對象之間的賦值兼容關係178 4.6套用舉例181 習題187 第5章多態性197 5.1編譯時的多態性與運行時的多態性197 5.2運算符重載198 5.2.1在類外定義的運算符重載函式198 5.2.2友元運算符重載函式202 5.2.3成員運算符重載函式208 5.2.4成員運算符重載函式與友元運算符重載函式的比較213 5.2.5“++”和“--”的重載215 5.2.6賦值運算符“=”的重載220 5.2.7下標運算符“\[\]”的重載224 5.3類型轉換226 5.3.1系統預定義類型間的轉換226 5.3.2類類型與系統預定義類型間的轉換227 5.4虛函式234 5.4.1虛函式的引入235 5.4.2虛函式的定義238 5.4.3純虛函式和抽象類248 5.5套用舉例249 習題254 第6章模板與異常處理259 6.1模板的概念259 6.2函式模板與模板函式259 6.3類模板與模板類265 6.4異常處理272 6.4.1異常處理概述272 6.4.2異常處理的方法273 6.5套用舉例277 習題282 第7章C++的流類庫與輸入輸出285 7.1C++為何建立自己的輸入輸出系統285 7.2C++流的概述286 7.2.1C++的輸入輸出流286 7.2.2預定義的流對象288 7.2.3輸入輸出流的成員函式288 7.3預定義類型的輸入輸出291 7.3.1插入運算符與提取運算符291 7.3.2輸入輸出的格式控制293 7.4用戶自定義類型的輸入輸出301 7.4.1重載插入運算符301 7.4.2重載提取運算符303 7.5檔案的輸入輸出304 7.5.1檔案的打開與關閉305 7.5.2檔案的讀寫308 7.6命名空間和頭檔案命名規則316 7.6.1命名空間316 7.6.2頭檔案命名規則318 7.7套用舉例319 習題322 第8章STL標準模板庫325 8.1容器、算法和疊代器的基本概念325 8.2容器326 8.2.1vector容器326 8.2.2list容器333 8.2.3容器適配器338 8.2.4deque容器342 8.2.5set、multiset、map和multimap容器344 本章小結345 習題346 第9章面向對象程式設計方法與實例349 9.1面向對象程式設計的一般方法和技巧349 9.1.1問題分析和功能定義350 9.1.2對象(類)設計及實現350 9.1.3核心控制設計352 9.1.4編碼與測試352 9.1.5進化352 9.2設計實例:模擬網上購書的結賬功能353 9.2.1問題分析與功能定義353 9.2.2對象(類)設計353 9.2.3核心控制設計355 9.2.4編碼與測試356 習題361 參考文獻362 |
教學資源
書名 | 書號 | 出版社 | 作者 |
---|---|---|---|
《C++面向對象程式設計教程(第4版)習題解答與上機指導》 | 9787302503705 | 清華大學出版社 | 陳維興、林小茶、陳昕 |