C++面向對象程式設計(第2版)

C++面向對象程式設計(第2版)

《C++面向對象程式設計(第2版)》是2014年清華大學出版社出版的圖書,作者是譚浩強。

基本介紹

  • 書名:C++面向對象程式設計(第2版)
  • ISBN:9787302360292
  • 定價:34.5元
  • 出版時間:2014-12-30
  • 裝幀:平裝
圖書簡介,目錄,

圖書簡介

C++是近年來國內外廣泛學習和使用的支持面向對象程式設計的現代計算機高級語言,國內許多高校已陸續開設了C++程式設計課程。但是,由於C++涉及的概念很多,語法比較複雜,內容十分廣泛,不少人感到學習難度很大,難以入門。針對這種情況,作者深入研究了C++的內容和初學者的認知規律,專門為已學習過C語言的讀者構建了便於學習的教材體系,編寫了這本C++面向對象程式設計入門教材。
本書對面向對象程式設計的基本理論概念和C++語言的基本內容作了通俗而詳盡的說明,並且把這兩方面有機地結合起來。第1章介紹面向過程程式設計領域中C++對C的擴充,第2章初步介紹面向對象程式設計的基本知識,在後續各章中由淺入深地介紹怎樣編寫C++程式,在此過程中自然地具體介紹了面向對象程式設計方法的套用。
本書配有兩本輔導教材,即《C++面向對象程式設計題解與上機指導(第2版)》和《C++程式設計實踐指導》。
本書內容全面,概念清晰,例題豐富,通俗易懂,易於學習,可作為大學各專業學習C++面向對象程式設計的基礎教材,也適於C++的初學者自學。即使沒有教師講授,讀者也基本能看懂本書的大部分內容。

目錄

第1章C++的初步知識1
1.1從C到C++1
1.2最簡單的C++程式2
1.3C++對C的擴充8
1.3.1C++的輸入輸出8
1.3.2用const定義常變數11
1.3.3函式原型聲明11
1.3.4函式的重載12
1.3.5函式模板14
1.3.6有默認參數的函式16
1.3.7變數的引用17
1.3.8內置函式24
1.3.9作用域運算符25
1.3.10字元串變數26
1.3.11動態分配/撤銷記憶體的運算符new和delete29
1.3.12C++對C功能擴展的小結30
1.4C++程式的編寫和實現31
1.5關於C++上機實踐32
習題33
第2章類和對象的特性36
2.1面向對象程式設計方法概述36
2.1.1什麼是面向對象的程式設計36
2.1.2面向對象程式設計的特點39
2.1.3類和對象的作用40
2.1.4面向對象的軟體開發41
2.2類的聲明和對象的定義43
2.2.1類和對象的關係432.2.2聲明類的類型43
2.2.3定義對象的方法45
2.2.4類和結構體類型的異同47
2.3類的成員函式48
2.3.1成員函式的性質48
2.3.2在類外定義成員函式48
2.3.3內置成員函式(inline成員函式)49
2.3.4成員函式的存儲方式51
2.4對象成員的引用52
2.4.1通過對象名和成員運算符訪問對象中的成員53
2.4.2通過指向對象的指針訪問對象中的成員53
2.4.3通過對象的引用來訪問對象中的成員54
2.5類和對象的簡單套用舉例54
2.6類的封裝性和信息隱蔽61
2.6.1公用接口與私有實現的分離61
2.6.2類聲明和成員函式定義的分離62
2.6.3面向對象程式設計中的幾個名詞65
習題66
第3章怎樣使用類和對象68
3.1利用構造函式對類對象進行初始化68
3.1.1對象的初始化68
3.1.2用構造函式實現數據成員的初始化69
3.1.3帶參數的構造函式71
3.1.4用參數初始化表對數據成員初始化73
3.1.5構造函式的重載74
3.1.6使用默認參數的構造函式76
3.2利用析構函式進行清理工作79
3.3調用構造函式和析構函式的順序81
3.4對象數組83
3.5對象指針85
3.5.1指向對象的指針85
3.5.2指向對象成員的指針85
3.5.3指向當前對象的this指針88
3.6共用數據的保護90
3.6.1常對象90
3.6.2常對象成員91
3.6.3指向對象的常指針93
3.6.4指向常對象的指針變數93
3.6.5對象的常引用96
3.6.6const型數據的小結97
3.7對象的動態建立和釋放98
3.8對象的賦值和複製99
3.8.1對象的賦值99
3.8.2對象的複製101
3.9靜態成員103
3.9.1靜態數據成員104
3.9.2靜態成員函式106
3.10友元109
3.10.1友元函式109
3.10.2友元類113
3.11類模板114
習題118
第4章對運算符進行重載122
4.1為什麼要對運算符重載122
4.2對運算符重載的方法124
4.3重載運算符的規則127
4.4運算符重載函式作為類成員函式和友元函式128
4.5重載雙目運算符132
4.6重載單目運算符137
4.7重載流插入運算符和流提取運算符139
4.7.1重載流插入運算符“<<”140
4.7.2重載流提取運算符“>>”142
4.8有關運算符重載的歸納144
4.9不同類型數據間的轉換145
4.9.1標準類型數據間的轉換145
4.9.2用轉換構造函式進行不同類型數據的轉換145
4.9.3類型轉換函式147
習題153
第5章繼承與派生154
5.1什麼是繼承與派生154
5.2派生類的聲明方式157
5.3派生類的構成157
5.4派生類成員的訪問屬性159
5.4.1公用繼承160
5.4.2私有繼承162
5.4.3保護成員和保護繼承165
5.4.4多級派生時的訪問屬性169
5.5派生類的構造函式和析構函式170
5.5.1簡單的派生類的構造函式171
5.5.2有子對象的派生類的構造函式174
5.5.3多層派生時的構造函式177
5.5.4派生類構造函式的特殊形式179
5.5.5派生類的析構函式180
5.6多重繼承180
5.6.1聲明多重繼承的方法181
5.6.2多重繼承派生類的構造函式181
5.6.3多重繼承引起的二義性問題184
5.6.4虛基類187
5.7基類與派生類的轉換192
5.8繼承與組合195
5.9繼承在軟體開發中的重要意義197
習題198
第6章多態性與虛函式203
6.1什麼是多態性203
6.2一個典型的例子204
6.3利用虛函式實現動態多態性209
6.3.1虛函式的作用209
6.3.2靜態關聯與動態關聯213
6.3.3在什麼情況下應當聲明虛函式215
6.3.4虛析構函式215
6.4純虛函式與抽象類217
6.4.1純虛函式217
6.4.2抽象類217
6.4.3套用實例218
習題225
第7章輸入輸出流226
7.1C++的輸入和輸出226
7.1.1輸入輸出的含義226
7.1.2C++的I/O對C的發展——類型安全和可擴展性226
7.1.3C++的輸入輸出流227
7.2標準輸出流232
7.2.1cout,cerr和clog流232
7.2.2標準類型數據的格式輸出234
7.2.3用流成員函式put輸出字元239
7.3標準輸入流240
7.3.1cin流240
7.3.2用於字元輸入的流成員函式242
7.3.3istream類的其他成員函式245
7.4對數據檔案的操作與檔案流249
7.4.1檔案的概念249
7.4.2檔案流類與檔案流對象250
7.4.3檔案的打開與關閉251
7.4.4對ASCII檔案的操作253
7.4.5對二進制檔案的操作258
7.5字元串流264
習題268
第8章C++工具270
8.1異常處理270
8.1.1異常處理的任務270
8.1.2異常處理的方法271
8.1.3在函式聲明中進行異常情況指定278
8.1.4在異常處理中處理析構函式279
8.2命名空間281
8.2.1為什麼需要命名空間281
8.2.2什麼是命名空間284
8.2.3使用命名空間解決名字衝突286
8.2.4使用命名空間成員的方法288
8.2.5無名的命名空間290
8.2.6標準命名空間std290
8.3使用早期的函式館291
習題292
附錄A常用字元與ASCII代碼對照表294
附錄B運算符和結合性295
參考文獻297
第14章實驗安排220
14.1實驗1C程式的運行環境和運行C程式的方法220
14.2實驗2最簡單的C程式設計——順序程式設計222
14.3實驗3選擇結構程式設計224
14.4實驗4循環結構程式設計225
14.5實驗5利用數組(一)226
14.6實驗6利用數組(二)227
14.7實驗7函式調用(一)228
14.8實驗8函式調用(二)229
14.9實驗9善用指針(一)230
14.10實驗10善用指針(二)231
14.11實驗11使用結構體232
14.12實驗12檔案操作233
參考文獻234

相關詞條

熱門詞條

聯絡我們