C++面向對象程序設計
-
【作 者】栗青生 王愛民
【I S B N 】978-7-5084-7197-6
【責任編輯】宋俊娥
【適用讀者群】本科
【出版時間】2010-03-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】2010年3月第1版
【頁 數】228
【千字數】
【印 張】
【定 價】¥25
【叢 書】21世紀高等學校精品規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書從實際應用出發,系統地介紹C++面向對象程序設計的原理、方法和技巧。重點突出,敘述清楚,深入淺出,論述詳盡,使讀者既能深刻領會面向對象程序設計的思想,了解面向對象程序設計的特征,又能掌握C++語言的編程與應用。全書共8章,主要內容包括:面向對象程序設計語言概述、C++語言基礎知識、類和對象、對象成員和友元、繼承和派生、多態性和運算符重載、模板、C++的輸入/輸出流。在每一章的知識點后面,都給出了相應的程序設計實例,這些實例不僅有助于讀者鞏固知識點的內容,而且有助于讀者的創新能力的培養。
本書適合作為普通高等院校計算機及其相關專業C++程序設計教材,也可供從事計算機軟件開發的科研人員使用。
1.采用“理論+實例+實踐”三結合的教學體系,更加重視學生實踐能力的培養。
2.結合作者多年講授“C++面向對象程序設計”的經驗,靈活地安排課程的結構和內容,重點突出、難點易懂,即使沒有C語言基礎的讀者也能系統地掌握。
3.考慮到不同學校實驗平臺的差異,精心設計的例題和實例在Microsoft Visual C++ 6.0系統和Microsoft Visual Studio 2005/2008系統上都能調試通過。
4.本教材的配套教學資源十分豐富,不僅有針對教師和學生的學習課件、配套的教學網站,而且還有教學視頻,更方便學生自學。
作為學習可視化面向對象技術的入門基礎,C++語言已開始代替傳統的C語言成為計算機教學語言。C++以類、對象、繼承、封裝、消息等概念提供了對面向對象特征的全面支持,又向下兼容了傳統的C語言的結構化程序設計特征。因此,全面系統地學習C++面向對象的程序設計語言,是可視化面向對象語言編程的基礎。
任何一種計算機語言都離不開實踐,本教材更注重理論和實踐的統一,通過在每一章后面提供的程序實例、思考練習題和課本最后的實驗,向讀者提供豐富的操作、實驗和實踐題目,以期讀者在實踐中掌握面向對象程序設計語言的精髓。
本書共分8章,其中第1章主要講述面向對象的基本思想;第2章講述C++語言基礎;第3章到第8章講述面向對象C++的類、對象、派生、多態、重載等技術的理論、實例和應用,這是本教材的重點。
本書具有如下特點:
1.采用“理論+實例+實踐”三結合的教學體系,更加重視學生實踐能力的培養。
2.結合作者多年講授“C++面向對象程序設計”的經驗,靈活地安排課程的結構和內容,重點突出、難點易懂,即使沒有C語言基礎的讀者也能系統地掌握。
3.考慮到不同學校實驗平臺的差異,精心設計的例題和實例在Microsoft Visual C++ 6.0系統和Microsoft Visual Studio 2005/2008系統上都能調試通過。
4.本教材的配套教學資源十分豐富,不僅有針對教師和學生的學習課件、配套的教學網站,而且還有教學視頻,更方便學生自學。
本書由栗青生、王愛民任主編,劉明亮、楊玉星、劉國英、吳琴霞任副主編,參加編寫的還有張長青、吳興麗、杜科、鄭小明、王勝金等,王娟、高春玲、劉超群、張智會、沙飛翔、潘中豪等同學參與了程序的調試,在此,對他們的幫助表示衷心的感謝。
本書配有電子教案、教學課件、課程輔導網站,需要者可以直接與編者聯系。E-mail:aylqs@163.com。
由于編寫時間倉促,教材中難免存在不足之處,敬請讀者指正。
第1章 面向對象程序設計語言概述 1
1.1 面向對象程序設計概述 1
1.1.1 面向對象程序設計 1
1.1.2 面向對象的軟件工程 2
1.1.3 面向對象的主要概念 2
1.2 面向對象程序設計的特點 4
1.2.1 傳統程序設計方法的局限性 4
1.2.2 面向對象程序設計的主要優點 4
1.3 面向對象的系統開發方法 6
1.3.1 典型的面向對象程序設計語言 7
1.3.2 C++面向對象程序設計流程 8
1.4 程序舉例 9
本章小結 12
習題1 13
第2章 C++語言基礎知識 15
2.1 C++語言的產生和發展 15
2.1.1 C++的產生 15
2.1.2 C++的特點 16
2.2 C++程序的結構及編程環境 16
2.2.1 C++程序基本格式 16
2.2.2 C++程序的結構 18
2.2.3 C++程序的編程環境 19
2.3 C++的數據類型 25
2.3.1 關鍵字和標識符 25
2.3.2 C++的基本數據類型 26
2.3.3 常量 26
2.3.4 變量 31
2.3.5 數組 34
2.3.6 結構體 36
2.3.7 聯合體 39
2.3.8 枚舉類型 40
2.3.9 用typedef類型 41
2.3.10 數據類型轉換 41
2.4 運算符、表達式和基本語句 42
2.4.1 運算符 42
2.4.2 表達式 52
2.4.3 基本語句 54
2.5 函數 57
2.5.1 函數的分類 57
2.5.2 函數的定義 58
2.5.3 函數的聲明 59
2.5.4 函數的調用 59
2.5.5 內聯函數 60
2.5.6 函數的重載 61
2.6 作用域和引用 62
2.6.1 作用域標識符 62
2.6.2 引用 63
2.7 程序舉例 66
本章小結 69
習題2 70
第3章 類和對象 71
3.1 類的概念 71
3.1.1 類的引入 71
3.1.2 類的定義 72
3.1.3 類的成員函數 74
3.2 對象 76
3.2.1 對象的定義 76
3.2.2 對象成員的訪問 77
3.2.3 類成員的訪問屬性 78
3.2.4 對象賦值語句 80
3.2.5 類的作用域 80
3.2.6 自引用指針 81
3.3 構造函數 82
3.3.1 構造函數 82
3.3.2 成員初始化表 86
3.3.3 缺省參數的構造函數 88
3.3.4 缺省的構造函數 89
3.4 析構函數 91
3.4.1 析構函數的構成和作用 91
3.4.2 缺省的析構函數 94
3.5 再談構造函數 94
3.5.1 重載構造函數 94
3.5.2 拷貝構造函數 95
3.5.3 淺拷貝和深拷貝 100
3.6 程序舉例 103
本章小結 106
習題3 106
第4章 對象成員和友元 108
4.1 對象成員 108
4.2 對象數組與對象指針 109
4.2.1 對象數組 109
4.2.2 對象指針 111
4.2.3 指向類的成員的指針 113
4.3 向函數傳遞對象 116
4.4 靜態成員 118
4.4.1 靜態數據成員 118
4.4.2 靜態成員函數 120
4.4.3 通過普通指針訪問靜態成員 121
4.5 友元 121
4.5.1 友元函數 122
4.5.2 友元成員 122
4.5.3 友元類 124
4.6 常類型 124
4.6.1 常引用 124
4.6.2 常對象 125
4.6.3 常對象成員 126
4.7 程序舉例 128
本章小結 133
習題4 134
第5章 繼承和派生 136
5.1 繼承與派生 136
5.1.1 繼承與代碼重用 136
5.1.2 派生類的聲明 137
5.1.3 派生類對基類成員的訪問 138
5.1.4 派生類對基類成員的訪問規則 138
5.2 派生類的構造函數和析構函數 143
5.2.1 派生類構造函數和析構函數的執行順序 143
5.2.2 派生類構造函數和析構函數的構造規則 144
5.3 多繼承 146
5.3.1 多繼承的聲明 147
5.3.2 多繼承的構造函數和析構函數 148
5.3.3 虛基類 150
5.4 賦值兼容規則 152
5.5 程序舉例 154
本章小結 158
習題5 159
第6章 多態性和運算符重載 161
6.1 多態性 161
6.1.1 通用多態和專用多態 161
6.1.2 多態的實現 162
6.2 虛函數 162
6.2.1 虛函數的作用和定義 164
6.2.2 虛析構函數 165
6.2.3 虛函數與重載函數的關系 166
6.2.4 多繼承與虛函數 167
6.3 純虛函數和抽象類 168
6.3.1 純虛函數 168
6.3.2 抽象類 169
6.4 運算符重載 170
6.4.1 運算符重載概述 170
6.4.2 運算符重載規則 171
6.5 運算符重載函數的形式 171
6.5.1 成員運算符函數 171
6.5.2 友元運算符函數 175
6.5.3 成員運算符函數與友元運算符函數的比較 181
6.6 程序舉例 183
本章小結 190
習題6 191
第7章 模板 193
7.1 模板的概念 193
7.2 函數模板與模板函數 193
7.2.1 函數模板的說明 193
7.2.2 函數模板的使用 194
7.3 模板函數的覆蓋 195
7.4 類模板與模板類 196
7.5 程序舉例 198
本章小結 201
習題7 201
第8章 C++的輸入/輸出流 203
8.1 C++的流 203
8.1.1 流的概念 203
8.1.2 I/O流類體系概述 204
8.2 格式化輸入輸出 206
8.2.1 輸出寬度控制:setw和width 207
8.2.2 填充字符控制:setfill和fill 207
8.2.3 輸出精度控制:setprecision和precision 208
8.2.4 其他格式狀態 209
8.3 文件的輸入輸出 209
8.3.1 文件的打開與關閉 210
8.3.2 文件的讀寫 211
8.3.3 文件讀寫位置指針 213
8.4 程序舉例 214
本章小結 217
習題8 217
附錄 實驗 219
參考文獻 222
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- Ansys Workbench結構分析熱點解析 [牛海峰 ]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- 計算機繪圖——AutoCAD+Autodesk Inventor(第二版) [主編 趙軍 劉瀟瀟]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- CLO 3D服裝虛擬仿真設計與應用基礎 [主編 王靜]
- JavaScript與jQuery項目化教程(活頁式) [主編 林灃 藍雪燕 宋家慧]
- C語言程序設計 [姜雪]
- WPS Office高級應用教程 [主編 牛莉 劉衛國]
- MS Office高級應用教程 [主編 牛莉 劉衛國]
- 電力工程CAD識圖與繪圖(活頁式) [主編 賈衛華 李曉華]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 信息技術基礎(Windows 7+Office 2016) [主編 王洪平 楊華]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- 信息技術基礎實訓與習題指導(Windows7+Office2016) [主編 周金容 唐天國]
- 網站前端技術案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- C語言同步案例習題精解 [主編 肖朝暉]
- Python辦公自動化—玩轉Excel [郝春吉 劉智楊 周永福 黃 詮]
- 計算機應用基礎與實踐(Windows 7平臺與Office 2016應用) [主編 呂波 何敏]
- 數據挖掘算法—基于C++及CUDA C [蒂莫西•馬斯特斯(Timothy]
- 電路設計與PCB制作實操教程 [主編 周永宏]