《C++及Windows可視化程式設計》是2003年7月清華大學出版社出版的圖書,作者是劉振安。
基本介紹
- 書名:C++及Windows可視化程式設計
- 作者:劉振安
- ISBN:9787302067863
- 定價:35元
- 出版社:清華大學出版社
- 出版時間:2003.07.01
內容簡介,圖書目錄,
內容簡介
本書是在C++程式設計和Windows編程的基礎上,進行合理組合與取捨之後編寫而成的,力求反映學科發展,展現它們的最新特徵。全書把重點放在程式設計方法上,將內容劃分為三大部分面向過程、面向對象和Windows可視化編程。在介紹面向過程時,直接引入使用對象的概念,通過使用對象設計面向過程的程式,熟悉使用對象的方法;通過使用C++提供的類,建立對象行為及實例的概念,並引入MFC進行可視化程式設計,重點放在訊息處理和可視化程式的結構上,以便讀者儘快掌握核心技術。本書不要求讀者學過C語言。由於面向過程設計部分的思想也適合C語言,只是在實現上與C語言有些差異,故通過該部分也可以學習C語言編程。這部分還介紹了面向對象和面向過程所共有的許多設計方法,因此,已經學過C語言的讀者,還必須重新學習這部分內容,以建立面向對象的概念。
圖書目錄
C++及Windows可視化程式設計第1章程式設計基礎1
1.1面向過程的程式設計方法1
1.1.1自然語言與計算機語言之間的鴻溝1
1.1.2面向過程與結構化程式設計3
1.2面向對象的程式設計方法5
1.3可視化程式設計8
1.4面向對象語言的發展9
1.5C++的面向過程和面向對象程式設計10
1.6C++面向對象程式設計特點11
1.6.1對象11
1.6.2抽象和類12
1.6.3封裝13
1.6.4繼承14
1.6.5多態性14
1.7數據對象和數據類型的屬性14
1.7.1數據對象、變數和常量14
1.7.2數據類型規範的基本組件16
1.7.3基本數據類型的實現16
1.8C++的基本數據類型和表達式17
1.8.1初識C++的函式和對象17
1.8.2標識符20
1.8.3變數對象21
1.8.4基本數據類型22
1.8.5變數對象的存儲類型23
1.8.6常量對象27
1.8.7匈牙利命名法29
1.8.8運算表達式30
1.8.9賦值運算符與賦值表達式31
1.8.10逗號運算符與逗號表達式33
1.9面向對象的標記圖33
1.9.1類和對象的UML標記圖34
1.9.2表示對象的結構與連線34
1.9.3使用實例36
1.9.4對象、類和訊息37
1.10使用類和對象實例38
1.10.1進一步使用C++的對象38
1.10.2char和string對象40
1.10.3使用對象小結42
1.11程式的編輯、編譯和運行的基本概念43
1.12本書的結構44
實驗1如何編輯、編譯、調試和運行一個實際程式45
習題146
目錄C++及Windows可視化程式設計第2章結構化編程基礎48
2.1典型C++程式結構48
2.1.1函式和函式原型49
2.1.2const修飾符和預處理程式50
2.1.3程式注釋52
2.1.4程式語句52
2.1.5大小寫字母的使用54
2.1.6程式的書寫格式54
2.1.7數據的簡單輸入輸出格式54
2.2關係運算與邏輯運算58
2.3結構化程式設計概述60
2.4控制選擇結構61
2.4.1用if語句實現選擇結構設計61
2.4.2用switch語句實現選擇結構設計64
2.5循環控制結構設計65
2.5.1while語句65
2.5.2do~while語句67
2.5.3for語句68
2.5.4break語句、countinue語句及goto語句69
2.5.5控制語句的嵌套71
實驗2通過調試改正程式中的錯誤72
實驗2.1查錯實驗72
實驗2.2編程調試實驗72
習題273
第3章構造類型初探75
3.1指針75
3.1.1構造指針類型75
3.1.2指針類型及指針運算77
3.1.3對指針使用const限定符79
3.1.4進一步討論指針81
3.2引用83
3.3數組85
3.3.1一維數組85
3.3.2數組與指針的關係88
3.3.3多維數組90
3.3.4字元串數組91
3.3.5指針數組92
3.3.6命令行參數93
3.4向量容器93
3.4.1定義向量列表94
3.4.2向量最基本的操作方法95
3.5類型定義關鍵字typedef98
3.6枚舉98
3.7結構99
3.7.1結構定義及其對象的初始化99
3.7.2結構數組101
3.7.3結構指針102
3.7.4動態分配記憶體103
3.8聯合103
實驗3綜合實驗105
習題3105
第4章函式108
4.1函式基礎知識108
4.1.1函式基本要素108
4.1.2函式調用形式110
4.1.3遞歸調用112
4.2函式參數的傳遞方式112
4.2.1傳值和傳地址112
4.2.2傳引用方式114
4.2.3默認參數114
4.2.4正確選擇函式原型及傳遞參數115
4.3深入討論函式返回值119
4.3.1返回引用的函式119
4.3.2返回指針的函式120
4.3.3返回對象的函式121
4.3.4函式返回值作為參數121
4.4函式指針122
4.4.1通過函式指針完成對函式的調用122
4.4.2通過函式指針對象將函式作為參數傳給其他函式124
4.5內聯函式126
4.6函式重載127
4.7函式模板129
4.8解題算法知識130
4.8.1計算機解題130
4.8.2算法知識簡介134
實驗4編輯多檔案程式及使用函式和函式指針實驗136
實驗4.1編輯多檔案程式實驗136
實驗4.2使用函式指針實驗137
習題4137
第5章對象和類140
5.1類及其實例化140
5.1.1定義類140
5.1.2使用類的對象143
5.1.3數據封裝146
5.1.4成員函式重載及默認參數147
5.1.5this指針148
5.1.6一個類的對象作為另一個類的成員149
5.2類和對象的性質150
5.2.1類對象的性質150
5.2.2類的性質151
5.3結構和聯合153
5.4構造函式154
5.4.1定義構造函式154
5.4.2構造函式和運算符new156
5.4.3默認構造函式和默認參數157
5.4.4複製構造函式158
5.5析構函式159
5.5.1定義析構函式159
5.5.2析構函式和運算符delete160
5.5.3默認析構函式160
5.6綜合例題161
5.7重載對象的賦值運算符163
5.8對象成員的初始化166
5.9類模板與標準模板庫168
5.9.1類模板168
5.9.2標準模板庫STL170
5.10面向對象編程的檔案規範173
5.10.1編譯指令173
5.10.2編寫類的頭檔案175
實驗5使用類模板176
習題5177
第6章繼承和派生類179
6.1繼承和派生的基本概念179
6.2單一繼承181
6.2.1單一繼承的一般形式181
6.2.2派生類的構造函式和析構函式181
6.2.3類的保護成員183
6.2.4訪問許可權和賦值兼容規則184
6.3繼承類模板189
6.4多重繼承193
6.5繼承的構造函式與析構函式調用順序194
6.6二義性及其支配規則198
6.6.1二義性和作用域分辨符198
6.6.2二義性及名字支配規則200
6.7虛基類200
實驗6公有派生的賦值兼容性規則202
習題6202
第7章多態性和虛函式204
7.1多態性204
7.1.1靜態聯編中的賦值兼容性及名字支配規律204
7.1.2動態聯編的多態性206
7.2虛函式208
7.2.1虛函式的定義208
7.2.2虛函式實現多態性的條件208
7.2.3進一步探討虛函式與實函式的區別210
7.2.4構造函式和析構函式調用虛函式213
7.2.5純虛函式與抽象類215
7.3多重繼承與虛函式217
實驗7探討影響虛函式表長度的因素218
習題7219
第8章類的成員和對象221
8.1靜態成員221
8.2友元函式224
8.3const對象和volatile對象228
8.4轉換函式232
8.5指向類成員的指針233
8.6數組和類237
實驗8使用類成員函式的指針238
習題8239
第9章運算符重載及流類庫240
9.1運算符重載240
9.1.1運算符重載的實質240
9.1.2類運算符和友元運算符的異同241
9.1.3++和--運算符的重載243
9.2流類庫245
9.2.1流類庫的基本類等級245
9.2.2運算符“”和“”的重載246
9.2.3格式控制248
9.3檔案操作250
9.3.1檔案操作方式250
9.3.2常用輸出檔案流成員函式251
9.3.3二進制輸出檔案254
9.3.4常用輸入流及其成員函式254
9.3.5檔案讀寫綜合實例257
實驗9綜合實驗260
習題9261
第10章面向對象課程設計262
10.1面向對象系統分析基礎知識262
10.1.1面向對象的主要原則262
10.1.2OOA模型266
10.1.3發現對象並建立對象層266
10.1.4定義數據成員268
10.1.5定義成員函式270
10.1.6如何發現基類和派生類結構270
10.2接口繼承與實現繼承272
10.3類的成員279
10.4命名空間279
10.5異常處理281
10.5.1引入異常處理281
10.5.2異常處理思想283
10.5.3異常處理的實現284
10.5.4異常處理中的構造與析構287
10.6虛基類和多繼承實例288
10.7鍊表292
10.7.1簡單的鍊表實例292
10.7.2改進封裝性的實例294
實驗10改進鍊表實驗296
習題10296
第11章Windows程式基本風格298
11.1一個簡單的Windows程式298
11.1.1手工編制一個簡單的Windows程式298
11.1.2Windows的程式結構302
11.1.3WinMain函式304
11.1.4WndProc函式309
11.1.5Windows程式編程特點分析311
11.2使用嚮導編程312
11.2.1使用AppWizard生成程式框架312
11.2.2Windows程式的組成315
11.2.3使用資源程式的組織原理圖316
11.2.4添加自己的代碼317
11.3使用訊息映射表319
11.3.1為訊息處理建立映射表319
11.3.2為命令訊息建立映射表320
實驗11熟悉Windows編程325
習題11326
第12章使用MFC類庫編程327
12.1一個使用全局對象的程式327
12.2使用MFC編制Win32 Application程式328
12.2.1Hello MFC329
12.2.2簡單分析330
12.3模擬文檔/視結構的MFC程式335
12.3.1程式清單336
12.3.2多檔案中的訊息映射340
12.3.3資源檔案342
12.3.4單文檔模板344
12.3.5動態創建345
12.4MFC類庫與編程嚮導AppWizard346
12.4.1自動生成文檔/視結構實例346
12.4.2MFC和Application Framework348
12.4.3MFC概貌349
12.4.4嚮導提供的程式風格356
12.5基於對話框風格的設計實例357
12.5.1界面設計357
12.5.2設定成員變數358
12.5.3增加訊息處理函式359
實驗12將兩個字元串拼接後輸出的實驗360
習題12361
第13章MFC文檔/視結構362
13.1MFC單文檔應用程式結構362
13.2文檔對象364
13.3視的對象366
13.4文檔和視的聯繫369
13.4.1邏輯關係370
13.4.2調用關係370
13.4.3配合實例370
13.5框架視窗371
13.6文檔模板373
13.7分析單文檔應用程式376
13.7.1應用程式類CTestApp376
13.7.2文檔類CTestDoc378
13.7.3視類CTestView378
13.7.4框架視窗類CMainFrame378
13.7.5對話框類CAboutDlg379
13.7.6工具列和狀態欄380
13.7.7標準選單381
13.8創建單文檔應用程式實例382
13.9多文檔應用程式簡介386
13.9.1MDI的三位一體創建流程386
13.9.2MDI的選單387
13.9.3創建MDI應用程式389
13.10訊息處理映射規則389
13.11各對象之間關係綜述390
13.12本章小結391
實驗13輸出三角形3條邊長並顯示其圖形的實驗392
習題13392
第14章可視化設計實例393
14.1簡單的數值輸出和畫圖實例393
14.2使用計算數據畫直方圖實例394
14.3可滾動的多文檔實例397
14.3.1設計思想397
14.3.2設計實現399
14.4不同類型文檔的實例406
14.4.1增加新的文檔模板407
14.4.2設計文本文檔的選單409
14.4.3編程實現其他函式410
14.4.4編譯運行程式411
14.5綜合自選實驗413
習題14413
附錄A按字母表順序排序的C和C++保留字414
附錄BC語言關鍵字415
附錄CC和C++語言過程設計算法描述方法416
附錄DC語言的printf格式輸出函式418
附錄EC語言的scanf格式輸入函式420
附錄F以CObject為直接基類的派生類圖422
附錄GCCmdTarget類的派生類圖423
參考文獻424