作者結合多年的C++教學經驗,根據教學大綱精心設計並且編寫了書中內容。《C++程式設計教程:基於案例與實驗驅動》依據ANSI C++標準,闡述面向對象的程式設計思想,引出必要的語法知識,詳細介紹了C++語言本身。針對初學者的特點,書中結合大量實例講解面向對象程式設計的基本概念和方法,並增加了UML類圖的介紹以及STL程式設計的內容。 全書分為9章,在講解了C++基礎知識之後,引導讀者深入學習類與對象、繼承與派生、多態性、獨立編譯與命名空間、模板、輸入輸出流、string類以及異常處理。 《C++程式設計教程:基於案例與實驗驅動》文字流暢、概念清晰、通俗簡潔,並配有多種形式的習題,適合作為大專院校面向對象程式設計課程的入門教材。
基本介紹
- 中文名:C++程式設計教程:基於案例與實驗驅動
- 出版社:機械工業出版社
- 頁數:263頁
- 開本:16
- 定價:29.00
- 作者:鄔延輝 王小權
- 出版日期:2010年8月1日
- 語種:簡體中文
- ISBN:9787111307945, 7111307941
- 品牌:機械工業出版社
內容簡介
《C++程式設計教程:基於案例與實驗驅動》特點
·將統一建模語言UML融入到每部分學習內容中,講解例題前,用UML類圖對問題進行分析,使讀者掌握用面向對象方法來分析複雜問題,而不僅僅是學習面向對象語法。
·選取大量貼近現實事物和現象的例題進行講解,使讀者對程式產生濃厚的興趣,增強學習動力。每章在講述知識點和例題後,通過一個完整的套用實例來鞏固所學知識點。
·通過每章形式多樣的課後習題,讓讀者自己動手來編寫C++程式,徹底解決以往“看得懂、不會編”的情況。
圖書目錄
教學建議
第1章 C++基礎知識 1
1.1 面向對象程式設計語言 1
1.1.1 從C到C++ 1
1.1.2 Java 1
1.2 面向對象程式設計的基本概念 2
1.2.1 類 3
1.2.2 對象 3
1.2.3 封裝 3
1.2.4 繼承 3
1.2.5 多態性 4
1.3 面向對象軟體的開發步驟 4
1.4 C++程式開發過程 5
1.5 UML類圖 6
1.6 一個簡單的C++程式 9
1.7 小結 12
習題 13
第2章 類與對象 15
2.1 類與對象的定義 15
.2.1.1 類的定義 15
2.1.2 成員函式的定義 17
2.1.3 類成員的訪問控制 18
2.1.4 對象的定義 19
2.1.5 對象的作用域和生存期 22
2.2 構造函式和析構函式 24
2.2.1 用於初始化的構造函式 24
2.2.2 默認構造函式 28
2.2.3 拷貝構造函式 29
2.2.4 析構函式 35
2.3 this指針 36
2.4 靜態成員 39
2.4.1 靜態數據成員 39
2.4.2 靜態成員函式 40
2.5 常成員 42
2.5.1 常對象 42
2.5.2 常數據成員 43
2.5.3 常成員函式 44
2.6 類的組合 45
2.7 友元函式和友元類 50
2.8 動態記憶體分配 52
2.8.1 new和delete 52
2.8.2 深拷貝與淺拷貝 54
2.9 套用實例-計數器 56
2.10 小結 61
習題 61
第3章 繼承與派生 64
3.1 基類和派生類 64
3.1.1 為何需要繼承 64
3.1.2 派生類聲明 66
3.2 派生類的訪問控制 68
3.2.1 公有繼承 68
3.2.2 私有繼承 70
3.2.3 保護繼承 71
3.3 派生類的構造函式和析構函式 72
3.3.1 派生類構造函式和析構函式的執行順序 73
3.3.2 派生類構造函式和析構函式的構造規則 74
3.4 多繼承 80
3.4.1 多繼承的聲明 80
3.4.2 多繼承的構造函式和析構函式 80
3.4.3 二義性 84
3.4.4 虛基類 85
3.5 賦值兼容規則 87
3.6 套用實例-小型診所的簡單信息管理程式 89
3.7 小結 93
習題 93
第4章 多態性 97
4.1 多態性概述 97
4.1.1 多態的分類 97
4.1.2 多態的實現 97
4.2 虛函式 97
4.2.1 靜態聯編和動態聯編 98
4.2.2 虛函式的作用和定義 98
4.2.3 虛函式的使用原則 99
4.2.4 虛函式的訪問 99
4.3 純虛函式與抽象類 100
4.4 函式重載 101
4.5 運算符重載 103
4.5.1 運算符重載的規則 104
4.5.2 運算符重載為成員函式 104
4.5.3 運算符重載為友元函式 105
4.5.4 其他運算符重載 106
4.6 套用實例 112
4.7 小結 115
習題 115
第5章 獨立編譯與命名空間 118
5.1 獨立編譯 118
5.1.1 C++程式的組織結構 118
5.1.2 編譯預處理 126
5.2 命名空間 130
5.2.1 命名空間和using預編譯指令 130
5.2.2 創建命名空間 131
5.2.3 無名命名空間 133
5.3 小結 137
習題 137
第6章 模板 139
6.1 模板的概念 139
6.2 函式模板 140
6.2.1 函式模板的定義 140
6.2.2 函式模板的實例化 141
6.3 類模板 144
6.3.1 類模板的定義 144
6.3.2 類模板的實例化 146
6.3.3 類模板的默認參數 147
6.4 標準模板庫STL 148
6.5 套用實例 150
6.6 小結 152
習題 152
第7章 輸入和輸出流類庫 154
7.1 輸入/輸出流概念和流類庫結構 154
7.2 無格式輸入/輸出 155
7.2.1 輸出運算符“[[” 155
7.2.2 輸入運算符“]]” 156
7.2.3 成員函式put()輸出字元 158
7.2.4 成員函式get()和getline() 158
7.2.5 成員函式read()和write() 160
7.3 格式化輸入/輸出 161
7.3.1 使用ios類成員函式 161
7.3.2 使用操縱符 166
7.4 檔案流操作 168
7.4.1 檔案打開與關閉 168
7.4.2 檔案讀寫 170
7.5 套用實例 177
7.6 小結 180
習題 180
第8章 string類 182
8.1 string類對象定義 182
8.1.1 char型字元串 182
8.1.2 string型字元串定義 182
8.1.3 string類構造函式 183
8.2 string類成員函式 184
8.3 string類操作符 186
8.4 套用實例 191
8.5 小結 193
習題 193
第9章 異常處理 195
9.1 異常處理基礎 195
9.2 異常處理編程技術 196
9.2.1 異常處理的基本思想 196
9.2.2 異常處理的實現 197
9.2.3 異常處理規則 198
9.2.4 異常事件的多路捕獲 199
9.2.5 異常處理中的構造與析構 201
9.2.6 異常處理核心技術——棧展開 203
9.3 套用實例 203
9.4 小結 205
習題 205
附錄A 實驗指導 207
附錄B C++語言中的關鍵字 264
參考文獻 265
序言
目 前,國內有許多C++教材,它們大都包含了大量的C語言教學內容,對於已經學過C語言課程的讀者來講,這些教材顯得篇幅過長,不適合在有限的課堂教學學時情況下使用。本書一開始就進入類和對象的介紹,關注面向對象的設計思想,適合於已經學過C語言課程並將開始學習C++語言的讀者,對於在實際工作中需要用面向對象技術來編寫C++程式的工程技術人員也很有幫助。本書要求讀者具有C語言基礎知識,是一本面向C++初學者的入門教材。
本書主要特點
1) 將統一建模語言UML融入到每部分學習內容中,講解例題前,用UML類圖對問題進行分析,使讀者掌握用面向對象方法分析複雜問題,而不僅僅是學習面向對象語法。
2) 選取大量貼近現實和現象的例題進行講解,其中有些例題是作者全新設計出來的,這些例題可以使讀者對程式產生濃厚的興趣,增強學習效果。每章在講述知識點和例題後,通過一個完整的套用實例來鞏固所學知識點。
3) 本書每章都有形式多樣的課後習題,讓讀者自己動手來編寫C++程式,使他們從能夠看懂C++程式,到能夠分析問題,並動手編寫程式來解決問題,徹底解決以往“看得懂、不會編”的情況。