C++面向對象程式設計(2009年清華大學出版社出版的教材)

C++面向對象程式設計(2009年清華大學出版社出版的教材)

《C++面向對象程式設計》是由郭有強編著,2009年清華大學出版社出版的高等學校計算機教材、面向套用與實踐系列教材。該書既可作為高等院校本科生程式設計基礎教材,也可作為計算機愛好者自學用書和各類工程技術人員的參考書。

全書共13章,分成如下三個部分:第1部分(第1~第6章)概述了面向過程和面向對象技術的基本概念、不同的編程思維方式。第2部分(第7~第11章)主要講授C++面向對象編程思想及方法。第3部分(第12章和第13章)是面向對象技術在Visual C++中的套用部分。主要介紹了利用MFC開發Windows應用程式的基本編程模式和程式設計方法。

基本介紹

  • 書名:C++面向對象程式設計
  • 作者:郭有強
  • ISBN:9787302193531
  • 類別:高等學校計算機教材
  • 頁數:369頁
  • 出版社:清華大學出版社
  • 出版時間:2009年2月1日
  • 裝幀:平裝
  • 開本:16開
成書過程,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

該書是作者總結教學經驗、參考中國國內外有關資料並結合自身的實際工程項目經驗編寫而成。
該書具體編寫分工如下:由郭有強主編(編寫第1、8、9、10、11、12、13章),負責總體設計並統稿。參加該書編寫工作的還有姚保峰(編寫第2、3、6章),王磊(編寫第4、5章),張怡文(編寫第7章及本書全部例題原始碼的測試)。胡學鋼教授、王浩教授,對該書給予了支持,提出了意見。孫家啟教授對該書提供了幫助。
該教材於2009年2月1日由清華大學出版社出版。

內容簡介

全書共13章,分成如下三個部分:
第1部分(第1~第6章)概述了面向過程和面向對象技術的基本概念、不同的編程思維方式;介紹了利用VisualC++6.0調試C++控制台應用程式;講授了C++面向過程編程部分,包括C++程式設計基礎、程式流程控制、數組、模組設計和指針等內容。
第2部分(第7~第11章)主要講授C++面向對象編程思想及方法。這部分內容以面向對象技術的特徵為線索展開對C++的討論。
第3部分(第12章和第13章)是面向對象技術在VisualC++中的套用部分。這部分主要介紹了利用MFC開發Windows應用程式的基本編程模式和程式設計方法。第12章講述了利用MFC編程的模式、方法,配以具體套用的實訓步驟。第13章給出了基於兩種編程模式的綜合實訓。

教材目錄

第1章程式設計與C++概述1
1.1程式與程式設計語言1
1.1.1程式1
1.1.2程式設計語言2
1.1.3程式設計3
1.1.4結構化程式設計4
1.2算法概述4
1.2.1算法的含義4
1.2.2算法的特性6
1.2.3算法的表示6
1.3面向過程和面向對象編程概述8
1.4C++語言簡介10
1.4.1C++語言的發展10
1.4.2一個簡單的C++程式11
1.5面向過程和面向對象的程式設計方法比較12
1.6用VisualC++開發程式14
1.6.1C++程式的開發步驟和上機調試流程14
1.6.2VisualC++6.0調試C++程式的操作過程14
本章小結18
習題118
第2章C++程式設計基礎20
2.1數據與數據類型20
2.1.1數據與類型20
2.1.2C++中的數據類型20
2.2常量21
2.2.1數值常量22
2.2.2字元常量23
2.2.3字元串常量24
2.2.4符號常量24
2.2.5const常量25
2.3變數26
2.3.1變數的定義26
2.3.2整型變數27
2.3.3實型變數27
2.3.4字元變數28
2.4各類數值型數據間的混合運算及數據類型轉換29
2.4.1自動轉換29
2.4.2強制轉換30
2.5數據的輸入與輸出30
2.5.1輸出流對象cout30
2.5.2輸入流對象cin32
2.6基本運算符和表達式32
2.6.1運算符、表達式、優先權和結合性32
2.6.2算術運算符與算術表達式34
2.6.3賦值運算符與賦值表達式36
2.6.4自增、自減運算符與表達式37
2.6.5關係運算符與關係表達式38
2.6.6邏輯運算符與邏輯表達式39
2.6.7逗號運算符及逗號表達式40
2.6.8條件運算符與條件表達式41
2.6.9sizeof運算符42
本章小結42
習題243
第3章程式流程控制46
3.1順序結構程式設計46
3.2選擇結構程式設計46
3.2.1if語句46
3.2.2switch語句50
3.3循環結構程式設計51
3.3.1while語句51
3.3.2do-while語句52
3.3.3for循環52
3.3.4循環的嵌套53
3.3.5幾種循環的比較54
3.4幾種控制語句54
3.4.1break語句54
3.4.2continue語句55
3.4.3exit函式和abort函式55
3.5程式設計舉例56
本章小結59
習題360
第4章數組65
4.1一維數組65
4.1.1一維數組的定義、初始化65
4.1.2一維數組元素的引用66
4.1.3程式設計舉例67
4.2二維數組與多維數組69
4.2.1二維數組定義、初始化69
4.2.2二維數組元素的引用71
4.2.3多維數組71
4.2.4程式設計舉例72
4.3字元數組和字元串74
4.3.1字元數組的定義與初始化74
4.3.2字元串與字元數組75
4.3.3字元數組的輸入和輸出76
4.3.4字元串處理函式78
4.3.5程式設計舉例80
4.4綜合程式設計舉例82
本章小結84
習題485
第5章模組設計89
5.1模組的實現--函式89
5.1.1函式的概念89
5.1.2函式的定義91
5.1.3函式的調用93
5.1.4被調用函式的聲明93
5.2函式間的參數傳遞94
5.2.1值傳遞94
5.2.2地址傳遞96
5.3變數的存儲類別和作用域99
5.3.1變數的作用域:局部變數和全局變數99
5.3.2變數的存儲類別103
5.4函式的嵌套調用與遞歸調用108
5.4.1函式的嵌套調用108
5.4.2函式的遞歸調用109
5.5程式設計舉例110
5.6重載函式112
5.6.1進行函式重載的原因112
5.6.2使用函式重載的條件113
5.6.3重載函式的使用方法113
5.6.4函式的默認參數114
5.7函式模板與模板函式115
5.8內聯函式117
5.9const函式118
5.10編譯預處理118
5.10.1檔案包含命令118
5.10.2條件編譯命令119
5.11宏定義與宏替換121
5.11.1宏定義121
5.11.2撤銷已定義的宏122
5.11.3使用宏需注意的問題122
本章小結124
習題5124
第6章指針128
6.1地址與指針的概念128
6.2指針變數的定義與引用129
6.2.1指針變數的定義129
6.2.2指針變數的引用129
6.3指針的運算132
6.3.1指針的算術運算和比較運算132
6.3.2指向指針變數的指針與多級指針132
6.3.3指向void類型的指針133
6.4指針變數作為函式參數134
6.5指針與數組136
6.5.1指向一維數組的指針變數136
6.5.2數組指針作函式參數139
6.5.3指向二維數組的指針變數139
6.6記憶體的動態分配142
6.6.1new運算符的兩種用法142
6.6.2delete運算符143
6.7指針數組144
6.7.1指針數組的概念144
6.7.2帶參數的main函式146
6.8指針與函式147
6.8.1指針型函式147
6.8.2指向函式的指針變數148
6.9const類型的指針150
6.9.1常量指針(const對象)150
6.9.2指針常量(const指針)151
6.9.3指向常量的指針常量151
6.10引用151
6.10.1引用的概念151
6.10.2使用引用的注意事項152
6.10.3引用作為函式參數153
6.10.4函式返回引用155
6.11程式設計舉例156
本章小結159
習題6162
第7章類和對象168
7.1類的定義和使用168
7.1.1類定義格式168
7.1.2成員函式的定義位置169
7.1.3內聯成員函式170
7.1.4常量成員函式172
7.2對象的創建和使用173
7.2.1對象的種類和創建173
7.2.2對象作為函式的參數和返回值173
7.2.3this指針175
7.3構造函式的概念和使用177
7.3.1為什麼引入構造函式177
7.3.2重載構造函式179
7.3.3默認參數的構造函式180
7.3.4複製構造函式181
7.3.5成員初始化參數表184
7.4析構函式的概念和使用186
7.4.1為什麼引入析構函式186
7.4.2析構函式的使用187
7.5堆對象的概念和使用188
7.5.1創建和刪除單個堆對象的方法188
7.5.2創建和刪除堆對象數組的方法190
7.6靜態數據成員和靜態成員函式190
7.6.1為什麼需要靜態數據成員190
7.6.2靜態數據成員的訪問和初始化192
7.6.3靜態成員函式的概念和使用194
7.7友元函式和友元類195
7.7.1友元的概念和使用195
7.7.2使用友元的注意事項199
7.8程式設計舉例199
本章小結202
習題7203
第8章繼承與派生205
8.1為什麼要引入繼承的概念205
8.1.1繼承與派生問題舉例205
8.1.2繼承與派生的概念206
8.2基類和派生類206
8.2.1基類與派生類的概念206
8.2.2派生類的定義(單繼承)206
8.3三種派生方式207
8.3.1public派生207
8.3.2private派生209
8.3.3protected派生211
8.4三種派生方式的區別211
8.5派生類的構造函式和析構函式213
8.5.1派生類的構造函式213
8.5.2基類構造函式的調用方式213
8.5.3派生類的析構函式214
8.6多繼承和虛基類215
8.6.1多繼承的定義215
8.6.2多繼承中的構造函式和析構函式216
8.6.3二義性與虛基類218
8.7程式設計舉例224
本章小結228
習題8228
第9章多態性與虛函式230
9.1為什麼需要多態性230
9.1.1多態性的實現方法230
9.1.2靜態多態性和動態多態性231
9.2對虛函式的限制236
9.2.1聲明虛函式的限制236
9.2.2虛函式的使用限制237
9.3在成員函式中調用虛函式240
9.4在構造函式中調用虛函式241
9.5純虛函式和抽象類242
9.6程式設計舉例244
本章小結245
習題9246
第10章運算符重載與類模板249
10.1為什麼要進行運算符重載249
10.1.1運算符重載的例子249
10.1.2注意事項252
10.2賦值運算符和四則運算符的重載253
10.3自增1和自減1運算符重載256
10.4關係運算符的重載258
10.5算術賦值運算符的重載259
10.6下標運算符的重載261
10.7插入與抽取運算符的重載262
10.7.1插入運算符的重載262
10.7.2抽取運算符的重載263
10.8類型轉換265
10.8.1基本類型轉換和自定義類型的相互轉換266
10.8.2自定義類型之間的轉換267
10.9類模板與模板類271
10.10程式設計舉例273
本章小結279
習題10279
第11章流281
11.1C的標準I/O函式的缺陷281
11.2I/O流的概念282
11.3I/O流類庫結構283
11.4標準I/O流283
11.4.1標準I/O流的類層次283
11.4.2預定義流對象284
11.4.3預定義的插入類型284
11.4.4預定義的抽取類型285
11.5用於無格式I/O的ios類成員函式286
11.6格式化I/O流290
11.6.1使用格式狀態標誌或調用格式化成員函式290
11.6.2使用操縱運算元294
11.7檔案操作296
11.7.1檔案與檔案流概述296
11.7.2檔案流的類層次297
11.7.3檔案的打開和關閉297
11.7.4檔案讀寫操作舉例299
11.8隨機訪問數據檔案303
11.9程式設計舉例304
本章小結306
習題11306
第12章利用MFC開發Windows應用程式309
12.1Windows應用程式的特點與訊息驅動機制309
12.1.1基於Windows作業系統的應用程式的特點309
12.1.2典型的Windows應用程式結構310
12.1.3學習MFC的方法310
12.2利用MFCAppWizard創建Windows應用程式310
12.3MFC應用程式的類和檔案311
12.3.1類說明311
12.3.2檔案說明312
12.4在視窗的客戶區輸出文字和圖形314
12.5Windows訊息處理315
12.5.1利用ClassWizard編制訊息處理函式315
12.5.2Windows訊息318
12.5.3訊息的傳送與接收的基本過程和機制320
12.6文檔/視圖結構320
12.6.1視圖類321
12.6.2文檔類322
12.7選單、工具列325
12.8對話框與控制項327
12.8.1對話框327
12.8.2控制項334
12.9資料庫訪問335
12.10程式設計舉例336
本章小結344
習題12344
第13章綜合實訓346
13.1實訓1C++控制台應用程式:商品信息管理系統346
13.2實訓2MFC應用程式:班級信息管理系統352
本章小結366
習題13367
附錄標準ASCII碼錶370
參考文獻371

教學資源

  • 配套教材
該教材有配套教材《C++程式設計實驗指導與課程設計》。
書名書號出版社出版時間作者
《C++程式設計實驗指導與課程設計》
9787302193609
清華大學出版社
2009.05.01
郭有強、張怡文

教材特色

(1)該書通過比較的方法介紹了面向過程和面向對象程式設計的概念和方法;在講授面向對象編程時,圍繞面向對象程式設計的特徵展開;在講述每部分內容時,採用先說明開設這部分內容的理由的方法;每部分在具體闡述的過程中既重點突出,又注重細節用法;全書採用了大量的注釋;每部分都選擇了典型實例;最後講述了MFC編程模式。
(2)該書追求用通俗易懂的語言、生活中的現象來闡述基本理論,所有內容均採用“提出問題,說明問題,解決問題”的模式編寫,考慮到學習者的接受能力和接受方式;採用先例題後理論的模式,用程式例子來說明難懂的抽象概念;對許多問題都描述多個編程方案,以使讀者在比較中學習,進而理解相關設計思想和分析相關算法;該書除了正面闡述說明什麼是正確的,還注意從反面來說明什麼是不正確的;在講解MFC編程的過程中,注重操作步驟及細節。

作者簡介

郭有強,男,教授,碩士生導師。1987年7月畢業於安徽師範大學;2009年獲批教授職稱。蚌埠學院計算機科學與技術系主任,蚌埠學院學術委員會委員,《蚌埠學院學報》編委會委員,安徽省高等學校計算機教育研究會常務理事,安徽省計算機學會理事等職務。

相關詞條

熱門詞條

聯絡我們