C++面向對象程序設計
-
【作 者】曹靜 主編
【I S B N 】978-7-5084-3874-4
【責任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2006-08-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數】320
【千字數】
【印 張】
【定 價】¥28
【叢 書】軟件職業技術學院“十一五”規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書系統地介紹了面向對象程序設計的概念和C++語言的基礎知識。全書將編程語言和編程思想融為一體,使讀者在一步步學習C++語言的同時,可以一層層掌握面向對象的編程原理。為方便讀者理解C++面向對象程序設計的相關知識,書中采用通俗易懂的方式介紹了有關理論和原理,并輔以大量實例和插圖。每章均配有相關內容的項目設計,便于讀者進行實際操作和練習。
本書內容翔實、敘述清晰、注重實踐、習題豐富,可作為高職高專各個專業的計算機入門教材,也適合各領域想在計算機方面進修提高的人員自學使用。
C++語言是由AT&T貝爾實驗室的Bjarne Stroustrup建立的一種功能強大的高級編程語言。選擇C++講授編程是因為它支持面向對象的方法開發軟件。面向對象方法的優點是:我們可以用它來開發極為復雜的軟件系統,而且它所使用的許多技術是與建造復雜的物理系統,如制造船舶、飛機或蓋大樓時所使用過的技術類似。本書的目標是把它作為大學生學習編程的第一門課程,而且設計成適合所有專業的學生。作者假定他們預先沒有學過任何編程語言,而所用的數理知識也僅限于大學一年級水平。
本書是全國示范性軟件職業學院計算機及其相關專業指定教材,針對全國示范性軟件職業學院的特點,淡化理論,夠用為度,強化技能,重在實際操作,以項目設計貫穿全書,再輔以大量實例,讓學生能在實踐中掌握C++語言和面向對象的軟件開發方法。
本書是作者在多年教學實踐和科學研究的基礎上,參閱了大量國內外相關教材后,幾經修改而成的,主要特點如下:
(1)知識點全面,語言嚴謹、精練。
C++中概念眾多且比較抽象,本書對這些概念進行了清楚準確地解釋并結合實例說明,讓讀者能全面掌握每一個知識點。
(2)實際項目開發與理論教學緊密結合。
為了使讀者能快速地掌握C++相關知識的使用方法,本書在各個章節的重要知識點后面都附有典型的實訓,本書最后一章更結合每章中的實訓內容給出一個完整的項目。
(3)合理、有效的組織。
本書按照由淺入深的順序,循序漸進地介紹了C++面向對象程序設計的相關知識。各個章節在編寫時都是層層展開、環環相扣的。
(4)內容充實、實用。
本書不再使用傳統教材中那些最多只有數百行組成且在實踐中極少使用的示例程序,各章的實例都是實用性很強的程序或程序模塊,并且每章實例都是作為一個大型軟件項目的一部分出現,實例代碼可維護性強、重用率高,真正體現了面向對象程序開發的思想。
(5)本書配有全部的程序源文件和電子教案。
為方便讀者使用,書中全部實例的源代碼及電子教案均免費贈送給讀者。
本書共分四大部分,第一部分包括第1章至第3章,主要介紹C++基本語法概念和程序結構;第二部分包括第4章至第6章,主要介紹類、類的封裝、繼承和多態等;第三部分包括第7章至第9章,主要介紹I/O流、模板和異常處理;第四部分包括第10章,是一個綜合全書內容的實訓項目。
本書由曹靜任主編,董寧、陳丹任副主編,張宇、文凡、劉嵩、劉潔、肖英參加編寫,董寧、陳丹、庫波統編全稿。
由于時間倉促,加之編者水平有限,書中不妥或錯誤之處在所難免,懇請廣大讀者批評指正,作者聯系方式:jingcao_2002@163.com。
編者
2006年5月
前言
第1章 面向對象程序設計概述 1
1.1 面向對象的基本概念 1
1.2 C++面向對象程序設計 2
1.3 C++程序的基本組成 3
1.4 Visual C++ 6.0開發環境 6
【實訓1】 簡單的C++程序實例 10
本章小結 11
習題一 11
第2章 C++語言基礎 12
2.1 數據類型和基本輸入輸出 12
2.1.1 基本數據類型 12
2.1.2 常量 13
2.1.3 變量 16
2.1.4 基本輸入/輸出 17
2.2 運算符和表達式 18
2.2.1 算術運算符和算術表達式 18
2.2.2 賦值運算符和賦值表達式 19
2.2.3 逗號運算符和逗號表達式 20
2.2.4 關系運算符和關系表達式 20
2.2.5 邏輯運算符和邏輯表達式 20
2.2.6 ++、--與sizeof運算符 21
2.2.7 位運算符 22
2.2.8 三目運算符 24
2.2.9 運算符的優先順序 24
2.2.10 運算式中的類型轉換 25
2.3 基本控制結構 26
2.3.1 表達式語句、空語句和復合語句 27
2.3.2 選擇控制語句 28
2.3.3 循環控制語句 32
2.3.4 break和continue語句 35
【實訓2】 程序控制結構的應用 37
2.4 函數 39
2.4.1 函數的定義和調用 39
2.4.2 函數的參數傳遞 40
2.4.3 函數參數的引用傳遞 41
2.4.4 帶默認形參值的函數 43
2.4.5 函數的嵌套與遞歸調用 43
2.4.6 內聯函數 46
2.4.7 函數的重載 47
【實訓3】 函數的應用 48
2.5 構造類型 50
2.5.1 數組與字符串 50
2.5.2 結構體 56
2.5.3 共用體 60
2.5.4 枚舉類型 61
2.5.5 用typedef定義類型 63
2.6 指針 63
2.6.1 指針和指針變量 63
2.6.2 &和*運算符 64
2.6.3 指針的賦值與運算 64
2.6.4 指針和數組 66
2.6.5 指針和結構體 70
2.6.6 指針和函數 71
2.6.7 動態內存分配new和delete 75
【實訓4】 指針的綜合應用 76
項目設計1 控制臺程序的人機界面設計 83
本章小結 87
習題二 88
第3章 C++程序的結構 91
3.1 作用域和可見性 91
3.1.1 作用域 91
3.1.2 可見性 92
3.2 生存期 93
3.2.1 靜態生存期 93
3.2.2 動態生存期 93
3.3 變量的存儲類型 94
3.3.1 局部變量 95
3.3.2 全局變量 96
3.3.3 外部變量 97
3.4 編譯預處理和多文件結構 98
3.4.1 編譯預處理命令 98
3.4.2 多文件組織結構 101
項目設計2 預處理及多文件結構的編譯 103
本章小結 107
習題三 107
第4章 類與對象 110
4.1 面向對象程序設計的基本特點 110
4.1.1 抽象 110
4.1.2 封裝 111
4.1.3 繼承 112
4.1.4 多態 113
4.2 建立類與對象 114
4.2.1 類的聲明與實現 114
4.2.2 類成員的訪問控制 115
4.2.3 類的成員函數 116
4.2.4 對象的建立與使用 119
4.3 構造函數和析構函數 121
4.3.1 構造函數 121
4.3.2 析構函數 127
4.4 類的作用域和對象的生存期 128
4.4.1 類的作用域 128
4.4.2 對象的生存期 129
4.5 類的靜態成員 130
4.5.1 靜態數據成員 130
4.5.2 靜態函數成員 133
【實訓5】 對象與類成員的應用 136
4.6 常類型 138
4.6.1 常引用 138
4.6.2 常對象 139
4.6.3 用const修飾的類成員 139
4.7 數組、指針與對象 142
4.7.1 對象數組 142
4.7.2 對象指針 144
4.7.3 動態配置對象內存 145
4.7.4 淺拷貝和深拷貝 147
4.7.5 this指針 152
4.8 類的組合 152
4.8.1 類的組合 152
4.8.2 前向引用聲明 157
【實訓6】 對象數組與指針的綜合應用 157
4.9 友元 161
4.9.1 友元函數 161
4.9.2 友元類 164
項目設計3 面向對象程序設計中類的應用 165
本章小結 173
習題四 173
第5章 類的繼承與派生 175
5.1 繼承與派生 175
5.1.1 基類與派生類 175
5.1.2 派生類的聲明 176
5.1.3 派生類生成過程 177
5.2 繼承的三種方式 178
5.2.1 公有繼承 179
5.2.2 私有繼承 181
5.2.3 保護繼承 184
5.3 派生類的構造函數和析構函數 186
5.3.1 構造函數 186
5.3.2 析構函數 189
5.4 多繼承和虛基類 191
5.4.1 派生類成員的標識與訪問 191
5.4.2 作用域分辨 192
5.4.3 多繼承和虛基類 192
5.4.4 虛基類及其派生類的構造函數 195
5.5 賦值兼容規則 196
【實訓7】 類繼承與派生的應用 198
項目設計4 類的組織結構在校園信息管理系統中的應用 202
本章小結 211
習題五 211
第6章 多態性與虛函數 212
6.1 多態性概述 212
6.1.1 多態的類型 212
6.1.2 多態的實現 212
6.2 重載與再定義 213
6.2.1 函數的重載 213
6.2.2 函數的再定義 214
6.3 運算符重載 216
6.3.1 運算符重載的規則 216
6.3.2 運算符重載為成員函數 217
6.3.3 運算符重載為友元函數 222
6.4 虛函數 224
6.4.1 一般虛函數成員 224
6.4.2 虛析構函數 226
6.5 抽象類 227
6.5.1 純虛函數 227
6.5.2 抽象類 227
【實訓8】 抽象基類及虛函數的應用 229
項目設計5 多態在校園信息管理系統中的應用 233
本章小結 243
習題六 243
第7章 模板 244
7.1 模板的概念 244
7.2 函數模板 244
7.3 類模板 246
項目設計6 順序表模板 250
本章小結 254
習題七 254
第8章 數據流與文件的輸入/輸出 256
8.1 I/O流的概念 256
8.2 數據流的控制 257
8.2.1 數據流的格式控制 257
8.2.2 常用的輸入/輸出函數 261
8.2.3 數據流的錯誤偵測 262
8.3 文件的輸入/輸出 262
8.3.1 fstream類 262
8.3.2 格式化文字模式的文件I/O 264
8.3.3 二進制模式的文件I/O 266
8.3.4 文件指針的使用 267
【實訓9】 利用文件存儲對象 270
項目設計7 校園信息管理系統中的數據存儲 272
本章小結 279
習題八 280
第9章 異常處理 281
9.1 異常處理的基本思想 281
9.2 C++異常處理的實現 281
9.2.1 異常處理的機制 281
9.2.2 異常處理的規則 283
9.3 異常處理中的構造與析構 285
本章小結 287
習題九 287
第10章 項目設計——校園信息管理系統 288
10.1 系統分析與設計 288
10.2 程序設計分析 288
10.3 源程序及說明 290
10.4 運行結果與分析 303
參考文獻 307
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- 數據挖掘算法—基于C++及CUDA C [蒂莫西•馬斯特斯(Timothy]
- C++程序設計簡明教程 [黃能耿 黃致遠 胡麗丹]
- Visual C++6.0程序項目案例教程 [朱 銘 曾強聰 編著]
- 嵌入式應用Qt_C++傳感數據采集開發實訓教程 [主編 劉和文 文燕 謝忠敏]
- C++程序設計簡明教程(第二版) [主 編 王曉東 副主編 陳艷海 ]
- C++ STL基礎案例教程 [鐘琪 著]
- C++程序設計基礎教程 [主編 劉志寶 朱偉華 謝利民]
- Visual C++ & Android程序設計綜合實訓(第二版) [主編 梁建武]
- Visual C++程序設計教程(第二版) [梁建武]
- C++應用程序設計 [劉彥姝 謝景偉]
- C++程序設計 [陳國志 叢華 單正 編著]
- C++面向對象程序設計習題解答及上機指導 [李素若 杜華兵]
- C++面向對象程序設計 [李素若 杜華兵]
- C/C++程序設計學習輔導 [李婷 李云峰 編著]
- C/C++程序設計 [李云峰 李婷 編著]
- 數字音頻規范與程序設計:基于Visual C++開發 [曹強 編著]
- C++程序設計基礎實踐教程 [主編 楊長興 李利明]
- C語言程序設計——Visual C++ 6.0環境(第二版) [張昕]
- C++程序設計(第二版) [主編 楊長興 劉衛國]
- C++程序設計實踐教程(第二版) [主 編 劉衛國 楊長興]
- C++程序設計基礎 [主編 楊長興]
- 數據結構(C++描述)習題解答及實習指導 [李根強 謝月娥 主編]
- 數據結構(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- C++程序設計實驗指導與實訓 [蔡立軍 杜四春 銀紅霞 編著]
- C++程序設計 [杜四春 銀紅霞 蔡立軍 編著]
- 數據結構(C++描述) [李根強 主 編]