《基於Web標準的網頁設計與製作(第2版)》是2015年7月清華大學出版社出版的圖書,作者是唐四薪。
基本介紹
- 書名:基於Web標準的網頁設計與製作(第2版)
- 作者:唐四薪
- ISBN:9787302394334
- 定價:49元
- 出版社:清華大學出版社
- 出版時間:2015年7月
內容簡介,圖書目錄,
內容簡介
本書全面介紹了基於Web標準的網頁設計與製作技術,採用“原理+實例+綜合案例”的編排方式,所有實例都編排在相關的原理講解之後,使讀者能迅速理解有關原理的用途。
本書分為7章,內容包括網頁與網站的相關知識、HTML和XHTML標準、CSS網頁樣式和布局設計、Fireworks美工設計、網站開發和網頁設計的過程及案例,以及JavaScript和jQuery前台腳本編程技術。
全書遵循Web標準,強調原理性與實用性,技術與美工並重,注重介紹網頁設計與製作中的基本理論和前沿技術。
圖書目錄
第1章網頁設計概述1
1.1初識網頁設計1
1.1.1什麼是網頁1
1.1.2網頁設計的兩個基本問題3
1.1.3網頁設計語言——HTML簡介4
1.1.4網頁製作軟體4
1.2網站的建立5
1.2.1網站的特徵6
1.2.2在Dreamweaver中建立站點6
1.3Web伺服器與瀏覽器8
1.3.1Web伺服器的作用8
1.3.2瀏覽器的種類和作用9
1.4靜態網頁和動態網頁10
1.5URL的含義和結構12
1.6域名與主機的關係13
習題14
第2章HTML15
2.1HTML概述15
2.1.1HTML文檔的結構15
2.1.2Dreamweaver的開發界面16
2.1.3使用DW新建HTML檔案17
2.1.4HTML標記17
2.1.5常見的HTML標記及屬性18
2.2在網頁中添加文本19
2.2.1文本格式標記19
2.2.2文本的換行和空格21
2.2.3文本中的字元實體222.2.4字型標記23
2.2.5創建列表24
2.3利用DW代碼視圖提高效率25
2.3.1代碼提示25
2.3.2拆分視圖和代碼快速定位26
2.3.3DW中的常用快捷鍵27
2.4插入圖像28
2.4.1<img>標記28
2.4.2網頁中支持的圖像格式29
2.5創建超連結30
2.5.1超連結標記<a>30
2.5.2絕對URL與相對URL32
2.5.3超連結的種類34
2.5.4超連結目標的打開方式35
2.5.5超連結製作的原則36
2.5.6DW中超連結“屬性”面板的使用36
2.6插入Flash及多媒體元素37
2.6.1插入Flash的方法37
2.6.2插入視頻或音頻檔案38
2.6.3HTML 5新增的多媒體標記39
2.7創建表格42
2.7.1表格標記<table>42
2.7.2行標記<tr>和單元格標記<td>、<th>44
2.7.3在DW中操作表格的方法47
2.7.4製作固定寬度的表格49
2.7.5特殊效果表格的製作50
2.7.6用普通表格與布局表格進行網頁布局52
2.7.7表格布局綜合案例——製作太陽能網站55
2.8創建表單57
2.8.1<form>標記及其屬性57
2.8.2<input/>標記60
2.8.3<select>和<option>標記63
2.8.4多行文本域標記<textarea>63
2.8.5表單數據的傳遞過程64
2.8.6表單中的按鈕65
2.8.7表單的輔助標記66
2.8.8HTML 5新增的表單標記和屬性67
2.9框架標記70
2.9.1框架的作用70
2.9.2<frameset>標記70
2.9.3<frame/>標記72
2.9.4嵌入式框架標記<iframe>73
2.10頭部標記74
習題75
第3章XHTML與Web標準78
3.1XHTML與HTML的區別78
3.1.1文檔類型的含義和選擇78
3.1.2XHTML與HTML的重要區別79
3.2Web標準81
3.2.1傳統HTML的缺點81
3.2.2Web標準的含義82
3.2.3Web標準的優勢84
3.3HTML元素的概念84
3.3.1行內元素和塊級元素85
3.3.2<div>和<span>標記85
3.4HTML 5簡介86
3.4.1HTML 5新增的標記86
3.4.2HTML 5語法的改進88
習題89
第4章CSS90
4.1CSS基礎90
4.1.1CSS的語法90
4.1.2在HTML中引入CSS的方法91
4.1.3選擇器的分類93
4.1.4CSS文本修飾95
4.1.5偽類選擇器及其套用96
4.2CSS的特性98
4.2.1CSS的層疊性98
4.2.2CSS的繼承性100
4.2.3選擇器的組合102
4.2.4CSS 2.1新增選擇器簡介107
4.3CSS設計和書寫技巧112
4.3.1CSS樣式總體設計原則112
4.3.2DW對CSS的可視化編輯支持113
4.3.3CSS屬性的值和單位115
4.3.4瀏覽器的私有CSS屬性116
4.4盒子模型及標準流下的定位117
4.4.1盒子模型基礎118
4.4.2盒子模型的套用123
4.4.3盒子在標準流下的定位原則125
4.5背景的控制129
4.5.1CSS的背景屬性129
4.5.2背景的基本運用技術131
4.5.3滑動門技術——背景的高級運用134
4.5.4背景圖案的翻轉——控制背景的顯示區域139
4.5.5CSS圓角設計140
4.6盒子的浮動143
4.6.1盒子浮動後的特點143
4.6.2浮動的清除146
4.6.3浮動的瀏覽器解釋問題146
4.6.4浮動的套用舉例151
4.7相對定位和絕對定位157
4.7.1定位屬性和偏移屬性157
4.7.2相對定位158
4.7.3相對定位的套用舉例159
4.7.4絕對定位160
4.7.5絕對定位的套用舉例162
4.7.6DW中定位屬性面板介紹173
4.7.7與position屬性有關的CSS屬性173
4.8CSS+DIV布局178
4.8.1分欄布局的種類179
4.8.2固定寬度布局179
4.8.3CSS布局的案例——重構太陽能網站180
4.8.4可變寬度布局184
4.8.5HTML 5新增的文檔結構標記189
4.8.6CSS 3新增功能和屬性一瞥191
4.9CSS瀏覽器的兼容問題192
習題194
第5章Fireworks197
5.1Fireworks基礎197
5.1.1矢量圖和點陣圖的概念197
5.1.2認識Fireworks的界面198
5.1.3新建、打開和導入檔案199
5.1.4畫布和圖像的調整200
5.2操作對象203
5.2.1選擇、移動和對齊對象204
5.2.2變形和扭曲204
5.2.3改變對象的疊放次序206
5.2.4設定對象的不透明度206
5.2.5操作對象的快捷鍵207
5.3編輯點陣圖207
5.3.1創建和取消選區207
5.3.2複製和移動選區中的內容211
5.3.3編輯選區中的像素區域212
5.4繪製矢量圖形214
5.4.1創建矢量圖形214
5.4.2填充和筆觸屬性215
5.4.3自由形狀工具218
5.4.4調整矢量線條220
5.4.5路徑的切割和組合222
5.4.6路徑和選區的相互轉換224
5.5文本對象的使用226
5.5.1文本編輯和修飾的過程舉例226
5.5.2特殊文字效果製作舉例228
5.5.3將文本附加到路徑230
5.6蒙版231
5.6.1使用“貼上於內部”創建矢量蒙版231
5.6.2創建圖層蒙版237
5.7簡單GIF動畫的製作240
5.7.1使用補間實例製作動畫240
5.7.2製作遮罩動畫241
5.8切片及導出242
5.8.1切片的作用242
5.8.2切片的基本操作243
5.8.3切片的實例245
習題249
第6章網站開發和網頁設計過程251
6.1網站開發的過程251
6.1.1基本任務和角色251
6.1.2網站開發過程的各環節252
6.2遵循Web標準的網頁設計步驟257
6.2.1網頁設計步驟概述257
6.2.2內容分析259
6.2.3HTML結構設計259
6.2.4原型設計262
6.2.5網頁效果圖設計265
6.2.6布局設計267
6.2.7視覺設計272
6.2.8互動效果設計282
6.2.9CSS布局的優點284
6.3網站的風格設計285
6.3.1網站風格設計的基本原則285
6.3.2網頁色彩的搭配286
6.3.3網頁版式設計295
6.4網站的欄目規劃和結構設計299
6.4.1網站的欄目規劃300
6.4.2網站的結構設計301
6.5網站的導航設計302
6.5.1導航的實現方法303
6.5.2導航的設計策略304
6.6網站的環境準備304
6.6.1架設網站的基本條件304
6.6.2購買主機空間和域名305
6.6.3配置主機空間和域名305
6.6.4上傳網站306
習題307
第7章JavaScript308
7.1JavaScript簡介308
7.1.1JavaScript的特點308
7.1.2JavaScript的用途309
7.1.3JavaScript的代碼結構309
7.1.4事件監聽程式311
7.1.5開發和調試JavaScript的工具313
7.2JavaScript語言基礎314
7.2.1JavaScript的變數314
7.2.2JavaScript的運算符314
7.2.3JavaScript數據類型318
7.2.4數組321
7.2.5JavaScript語句324
7.2.6函式328
7.3對象330
7.3.1JavaScript對象330
7.3.2with語句332
7.3.3this關鍵字332
7.3.4JavaScript的內置對象333
7.4瀏覽器對象模型BOM334
7.4.1window對象334
7.4.2定時操作函式337
7.4.3location對象341
7.4.4history對象342
7.4.5document對象342
7.4.6screen對象345
7.5文檔對象模型DOM345
7.5.1網頁中的DOM模型346
7.5.2DOM編程引例346
7.5.3訪問指定節點351
7.5.4訪問和設定元素的HTML屬性354
7.5.5訪問和設定元素的內容356
7.5.6訪問和設定元素的CSS屬性357
7.5.7創建和替換元素節點360
7.5.8用DOM控制表單361
7.6事件處理363
7.6.1事件流364
7.6.2處理事件的兩種方法364
7.6.3瀏覽器中的常用事件367
7.6.4事件對象370
7.6.5DOM和事件編程實例373
7.7JavaScript外掛程式套用舉例379
7.7.1使用Highslide製作Lightbox效果379
7.7.2使用pxiviewer製作圖片輪顯效果381
7.8jQuery框架使用入門383
7.8.1jQuery框架的功能383
7.8.2下載並使用jQuery384
7.8.3jQuery中的“$”384
7.8.4jQuery對象與DOM對象388
7.8.5jQuery的選擇器390
7.8.6jQuery中的常用方法394
7.8.7jQuery的套用舉例395
7.8.8jQuery的外掛程式套用舉例402
習題405
參考文獻407第1章程式設計和C語言1
1.1計算機與程式、程式設計語言1
1.2C語言的特點2
1.3簡單的C語言程式3
1.4C語言程式的結構6
1.5運行C程式的步驟與方法8
1.6程式設計的任務10
1.7算法——程式的靈魂11
1.7.1程式是什麼11
1.7.2什麼是算法12
1.7.3怎樣表示一個算法13
1.8結構化程式設計方法19
1.9學習程式設計,培養計算思維21
本章小結23
習題23
第2章最簡單的C程式設計——順序程式設計25
2.1順序程式設計舉例25
2.2數據的類型及存儲形式29
2.2.1C的數據類型29
2.2.2數據的表現形式——常量和變數29
2.2.3整型數據31
2.2.4字元型數據36
2.2.5浮點型數據41
2.3用表達式進行數據的運算43
2.3.1C表達式43
2.3.2C運算符44
2.3.3運算符的優先權與結合性462.3.4不同類型數據間的混合運算46
2.3.5強制類型轉換47
2.4最常用的C語句——賦值語句48
2.4.1C語句綜述48
2.4.2賦值表達式50
2.4.3賦值語句53
2.5數據的輸入輸出55
2.5.1C語言中輸入輸出的概念55
2.5.2用printf函式輸出數據57
2.5.3用scanf函式輸入數據62
2.5.4字元數據的輸入輸出65
本章小結67
習題68
第3章選擇結構程式設計71
3.1簡單的選擇結構程式71
3.2選擇結構中的關係運算73
3.2.1關係運算符及其優先次序73
3.2.2關係表達式73
3.3選擇結構中的邏輯運算74
3.3.1邏輯運算符及其優先次序75
3.3.2邏輯表達式76
3.4用if語句實現選擇結構78
3.4.1if語句的三種形式78
3.4.2if語句的嵌套80
3.5用條件表達式實現選擇結構83
3.6利用switch語句實現多分支選擇結構86
3.7選擇結構程式綜合舉例88
本章小結94
習題94
第7章循環結構程式設計96
4.1程式需要循環96
4.2用while語句和do…while語句實現循環96
4.2.1用while語句實現循環96
4.2.2用do…while語句實現循環98
4.2.3while循環和do…while循環的比較99
4.2.4遞推與疊代101
4.3用for語句實現循環104
4.3.1for語句的執行過程104
4.3.2for語句的各種形式106
4.3.3for循環套用舉例108
4.4循環的嵌套110
4.5用break語句和continue語句改變循環狀態110
4.5.1用break語句提前退出循環110
4.5.2用continue語句提前結束本次循環111
4.6幾種循環的比較113
4.7循環程式舉例113
本章小結116
習題117
第5章利用數組處理批量數據119
5.1數組的作用119
5.2怎樣定義和引用一維數組120
5.2.1怎樣定義一維數組120
5.2.2怎樣引用一維數組元素120
5.2.3一維數組的初始化121
5.2.4利用一維數組的典型算法——遞推與排序122
5.3怎樣定義和引用二維數組125
5.3.1怎樣定義二維數組125
5.3.2怎樣引用二維數組的元素126
5.3.3二維數組程式舉例126
5.3.4二維數組的初始化129
5.4利用字元數組處理字元串數據130
5.4.1怎樣定義字元數組 130
5.4.2字元數組的初始化131
5.4.3引用字元數組的元素132
5.4.4字元串和字元串結束標誌133
5.4.5字元數組的輸入輸出方法135
5.4.6有關字元處理的算法136
5.4.7利用字元串處理函式139
本章小結142
習題143
第6章利用函式進行模組化程式設計145
6.1為什麼要使用函式145
6.1.1函式是什麼145
6.1.2程式和函式146
6.2怎樣定義函式147
6.2.1為什麼要定義函式147
6.2.2怎樣定義無參函式148
6.2.3怎樣定義有參函式148
6.3函式參數和函式的值149
6.3.1形式參數和實際參數 149
6.3.2函式的返回值150
6.4函式的調用151
6.4.1函式調用的一般形式151
6.4.2調用函式的方式152
6.4.3對被調用函式的聲明和函式原型152
6.5函式的嵌套調用155
6.6函式的遞歸調用156
6.6.1什麼是函式的遞歸調用156
6.6.2遞歸算法分析157
6.6.3用遞歸函式實現遞歸算法160
6.7數組作為函式參數164
6.8函式套用舉例——編寫排序程式167
6.9變數的作用域和生存期170
6.9.1局部變數171
6.9.2全局變數171
6.9.3變數的存儲方式和生存期172
6.9.4作用域與生存期小結175
6.10關於變數的聲明和定義177
本章小結178
習題180
第7章善於使用指針181
7.1什麼是指針181
7.2變數的指針和指向變數的指針變數183
7.2.1怎樣定義指針變數183
7.2.2怎樣引用指針變數185
7.2.3指針變數作為函式參數188
7.3通過指針引用數組192
7.3.1數組元素的指針192
7.3.2指針的運算193
7.3.3通過指針引用數組元素195
7.3.4用數組名作函式參數198
7.4通過指針引用字元串204
7.4.1引用字元串的方法204
7.4.2字元指針作函式參數208
7.4.3對使用字元指針變數和字元數組的歸納211
本章小結213
習題217
第8章根據需要創建數據類型219
8.1定義和引用結構體變數219
8.1.1怎樣創建結構體類型219
8.1.2怎樣定義結構體類型變數 221
8.1.3引用結構體變數223
8.2使用結構體數組226
8.2.1定義結構體數組226
8.2.2結構體數組套用舉例228
8.3結構體指針229
8.3.1指向結構體變數的指針229
8.3.2指向結構體數組的指針231
8.3.3用結構體變數和結構體變數的指針作函式參數232
8.4用指針處理鍊表235
8.4.1什麼是鍊表235
8.4.2建立簡單的靜態鍊表237
8.4.3建立動態鍊表238
8.4.4輸出鍊表241
8.5使用枚舉類型244
8.5.1什麼是枚舉和枚舉變數244
8.5.2枚舉型數據套用舉例245
本章小結248
習題249
第9章利用檔案保存數據250
9.1C檔案的有關概念250
9.1.1什麼是檔案250
9.1.2檔案名稱251
9.1.3檔案的分類251
9.1.4檔案緩衝區252
9.1.5檔案指針252
9.1.6檔案的位置指針253
9.2檔案的打開與關閉254
9.2.1用fopen函式打開檔案254
9.2.2用fclose函式關閉檔案255
9.3檔案的順序讀寫255
9.3.1向檔案讀寫一個字元256
9.3.2向檔案讀寫一個字元串258
9.3.3對檔案進行格式化讀寫261
9.3.4按二進制方式對檔案進行讀寫261
9.4檔案的隨機讀寫262
9.4.1檔案位置指針的定位262
9.4.2對檔案進行隨機讀寫264
本章小結265
習題267
附錄A常用字元與ASCII代碼對照表268
附錄BC語言中的關鍵字269
附錄C運算符和結合性270
附錄DC語言常用語法提要273
附錄EC庫函式278
參考文獻285第2篇基於過程的程式設計
第3章程式設計初步45
3.1基於過程的程式設計和算法45
3.1.1算法的概念45
3.1.2算法的表示46
3.2C++的程式結構和C++語句47
3.3賦值操作50
3.4C++的輸入與輸出50
3.4.1輸入流與輸出流的基本操作51
3.4.2在標準輸入流與輸出流中使用控制符53
3.4.3用getchar和putchar 函式進行字元的輸入和輸出56
3.4.4用scanf和printf函式進行輸入和輸出57
3.5編寫順序結構的程式58
3.6關係運算和邏輯運算59
3.6.1關係運算和關係表達式60
3.6.2邏輯常量和邏輯變數61
3.6.3邏輯運算和邏輯表達式62
3.7選擇結構和if語句64
3.7.1if語句的形式64
3.7.2if語句的嵌套67
3.7.3條件運算符和條件表達式68
3.7.4多分支選擇結構與switch 語句69
3.7.5編寫選擇結構的程式71
3.8循環結構和循環語句74
3.8.1用while語句構成循環74
3.8.2用dowhile語句構成循環75
3.8.3用for語句構成循環76
3.8.4幾種循環的比較79
3.8.5循環的嵌套79
3.8.6提前結束循環(break語句和continue語句)80
3.8.7編寫循環結構的程式81
習題85
第4章利用函式實現指定的功能88
4.1為什麼需要函式88
4.2定義函式的一般形式90
4.2.1定義無參函式的一般形式90
4.2.2定義有參函式的一般形式91
4.3函式參數和函式的值91
4.3.1形式參數和實際參數91
4.3.2函式的返回值93
4.4函式的調用94
4.4.1函式調用的一般形式94
4.4.2函式調用的方式94
4.4.3對被調用函式的聲明和函式原型94
4.5函式的嵌套調用97
4.6函式的遞歸調用99
4.7內置函式103
4.8函式的重載104
4.9函式模板107
4.10有默認參數的函式109
4.11局部變數和全局變數111
4.11.1局部變數111
4.11.2全局變數112
4.12變數的存儲類別113
4.12.1動態存儲方式與靜態存儲方式113
4.12.2自動變數114
4.12.3用static聲明靜態局部變數115
4.12.4用register聲明暫存器變數117
4.12.5用extern聲明外部變數118
4.12.6用static聲明靜態外部變數119
4.13變數屬性小結120
4.14關於變數的聲明和定義122
4.15內部函式和外部函式123
4.15.1內部函式123
4.15.2外部函式123
4.16頭檔案125
4.16.1頭檔案的內容125
4.16.2關於C++標準庫和頭檔案的形式126
習題126
第5章利用數組處理批量數據128
5.1為什麼需要用數組128
5.2定義和引用一維數組129
5.2.1定義一維數組129
5.2.2引用一維數組的元素129
5.2.3一維數組的初始化130
5.2.4一維數組程式舉例130
5.3定義和引用二維數組132
5.3.1定義二維數組133
5.3.2引用二維數組的元素134
5.3.3二維數組的初始化134
5.3.4二維數組程式舉例136
5.4用數組作函式參數137
5.5字元數組141
5.5.1定義和初始化字元數組141
5.5.2字元數組的賦值與引用142
5.5.3字元串和字元串結束標誌143
5.5.4字元數組的輸入輸出144
5.5.5使用字元串處理函式對字元串進行操作146
5.5.6字元數組套用舉例148
5.6C++處理字元串的方法——字元串類與字元串變數149
5.6.1字元串變數的定義和引用150
5.6.2字元串變數的運算151
5.6.3字元串數組151
5.6.4字元串運算舉例152
習題155
第6章善於使用指針與引用157
6.1什麼是指針157
6.2變數與指針159
6.2.1定義指針變數159
6.2.2引用指針變數161
6.2.3用指針作函式參數163
6.3數組與指針168
6.3.1指向數組元素的指針168
6.3.2用指針變數作函式形參接收數組地址170
6.4字元串與指針173
6.5函式與指針175
6.5.1用函式指針調用函式175
6.5.2用指向函式的指針作函式參數176
6.6返回指針值的函式177
6.7指針數組和指向指針的指針 177
6.7.1指針數組177
6.7.2指向指針的指針179
6.8const指針181
6.9void指針類型183
6.10有關指針的數據類型和指針運算的小結184
6.10.1有關指針的數據類型的小結184
6.10.2指針運算小結185
6.11引用186
6.11.1什麼是變數的引用186
6.11.2引用的簡單使用188
6.11.3引用作為函式參數188
習題192
第7章用戶自定義數據類型194
7.1結構體類型194
7.1.1為什麼需要用結構體類型194
7.1.2結構體類型變數的定義方法及其初始化195
7.1.3引用結構體變數198
7.1.4結構體數組200
7.1.5指向結構體變數的指針204
7.1.6結構體類型數據作為函式參數207
7.1.7用new和delete運算符進行動態分配和撤銷存儲空間210
7.2共用體類型212
7.3枚舉類型212
7.4用typedef聲明新的類型名216
習題218
第3篇基於對象的程式設計
第8章類和對象的特性223
8.1面向對象程式設計方法概述223
8.1.1什麼是面向對象的程式設計223
8.1.2面向對象程式設計的特點227
8.1.3類和對象的作用228
8.1.4面向對象的軟體開發229
8.2類的聲明和對象的定義230
8.2.1類和對象的關係230
8.2.2聲明類類型230
8.2.3定義對象的方法233
8.2.4類和結構體類型的異同234
8.3類的成員函式236
8.3.1成員函式的性質236
8.3.2在類外定義成員函式236
8.3.3內置成員函式237
8.3.4成員函式的存儲方式239
8.4對象成員的引用241
8.4.1通過對象名和成員運算符訪問對象中的成員241
8.4.2通過指向對象的指針訪問對象中的成員241
8.4.3通過對象的引用來訪問對象中的成員242
8.5類的封裝性和信息隱蔽242
8.5.1公用接口與私有實現的分離242
8.5.2類聲明和成員函式定義的分離244
8.5.3面向對象程式設計中的幾個名詞245
8.6類和對象的簡單套用舉例245
習題252
第9章怎樣使用類和對象255
9.1利用構造函式對類對象進行初始化255
9.1.1對象的初始化255
9.1.2用構造函式實現數據成員的初始化256
9.1.3帶參數的構造函式258
9.1.4用參數初始化表對數據成員初始化260
9.1.5構造函式的重載261
9.1.6使用默認參數的構造函式263
9.2析構函式265
9.3調用構造函式和析構函式的順序267
9.4對象數組269
9.5對象指針271
9.5.1指向對象的指針271
9.5.2指向對象成員的指針272
9.5.3this指針275
9.6共用數據的保護276
9.6.1常對象277
9.6.2常對象成員278
9.6.3指向對象的常指針279
9.6.4指向常對象的指針變數280
9.6.5對象的常引用283
9.6.6const型數據的小結284
9.7對象的動態建立和釋放284
9.8對象的賦值和複製286
9.8.1對象的賦值286
9.8.2對象的複製287
9.9靜態成員290
9.9.1靜態數據成員290
9.9.2靜態成員函式292
9.10友元296
9.10.1友元函式296
9.10.2友元類300
9.11類模板300
習題305
第10章運算符重載308
10.1什麼是運算符重載308
10.2運算符重載的方法310
10.3重載運算符的規則313
10.4運算符重載函式作為類成員函式和友元函式314
10.5重載雙目運算符318
10.6重載單目運算符322
10.7重載流插入運算符“<<”和流提取運算符“>>”325
10.7.1重載流插入運算符“<<”325
10.7.2重載流提取運算符“>>”328
10.8有關運算符重載的歸納 329
10.9不同類型數據間的轉換331
10.9.1標準類型數據間的轉換331
10.9.2用轉換構造函式進行不同類型數據的轉換331
10.9.3類型轉換函式333
習題338
第4篇面向對象的程式設計
第11章繼承與派生343
11.1繼承與派生的概念343
11.2派生類的聲明方式346
11.3派生類的構成346
11.4派生類成員的訪問屬性348
11.4.1公用繼承349
11.4.2私有繼承351
11.4.3保護成員和保護繼承354
11.4.4多級派生時的訪問屬性358
11.5派生類的構造函式和析構函式359
11.5.1簡單的派生類的構造函式359
11.5.2有子對象的派生類的構造函式363
11.5.3多層派生時的構造函式366
11.5.4派生類構造函式的特殊形式368
11.5.5派生類的析構函式369
11.6多重繼承369
11.6.1聲明多重繼承的方法369
11.6.2多重繼承派生類的構造函式370
11.6.3多重繼承引起的二義性問題372
11.6.4虛基類376
11.7基類與派生類的轉換380
11.8繼承與組合384
11.9繼承在軟體開發中的重要意義385
習題387
第12章多態性與虛函式392
12.1多態性的概念392
12.2一個典型的例子393
12.3利用虛函式實現動態多態性398
12.3.1虛函式的作用398
12.3.2靜態關聯與動態關聯402
12.3.3在什麼情況下應當聲明虛函式403
12.3.4虛析構函式404
12.4純虛函式與抽象類405
12.4.1純虛函式405
12.4.2抽象類406
12.4.3套用實例407
習題413
第13章輸入輸出流415
13.1C++的輸入和輸出415
13.1.1輸入輸出的含義415
13.1.2C++的I/O對C的發展——類型安全和可擴展性415
13.1.3C++的輸入輸出流416
13.2標準輸出流421
13.2.1cout,cerr和clog流421
13.2.2標準類型數據的格式輸出423
13.2.3用流成員函式put輸出字元426
13.3標準輸入流427
13.3.1cin流427
13.3.2用於字元輸入的流成員函式428
13.3.3istream類的其他成員函式429
13.4對數據檔案的操作與檔案流433
13.4.1檔案的概念433
13.4.2檔案流類與檔案流對象434
13.4.3檔案的打開與關閉435
13.4.4對ASCII檔案的操作437
13.4.5對二進制檔案的操作442
13.5字元串流447
習題452
第14章C++工具453
14.1異常處理453
14.1.1異常處理的任務453
14.1.2異常處理的方法454
14.1.3在函式聲明中進行異常情況指定461
14.1.4在異常處理中處理析構函式461
14.2命名空間464
14.2.1為什麼需要命名空間464
14.2.2什麼是命名空間467
14.2.3使用命名空間解決名字衝突469
14.2.4使用命名空間成員的方法471
14.2.5無名的命名空間473
14.2.6標準命名空間std473
14.3使用早期的函式館474
習題475
參考文獻480