《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章程式設計與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++程式設計實驗指導與課程設計》 | 9787302193609 | 清華大學出版社 | 2009.05.01 | 郭有強、張怡文 |