面向對象程序設計教程——C++

王曉帆,李薇

  • 出版商: 電子工業
  • 出版日期: 2020-07-01
  • 定價: $299
  • 售價: 8.0$239
  • 語言: 簡體中文
  • 頁數: 272
  • ISBN: 7121392585
  • ISBN-13: 9787121392580
  • 相關分類: C++ 程式語言
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

本書針對已有C程序設計基礎、學習C++面向對象程序設計的讀者。本書分為12章,第1章介紹面向對象程序設計的思想和基本概念;第2章綜述C++的發展歷程及新特性;第3~6章介紹類、對象、函數、常量、重載的概念及使用方法;第7、8章詳細講解類的組合、繼承、多態及模板問題;第9~11章詳細介紹輸入流/輸出流、異常處理及Visual C++ 2019開發環境;第12章給出一個Visual Studio環境下的C++綜合實例。本書內容由淺入深,採用案例教學的方法,力求將復雜的概念用簡潔淺顯的語言進行講解,並且用實例對方法進行說明。書中還配有大量的習題。本書配有電子課件等教學資源,請登錄華信教育資源網www.hxedu.com.cn,註冊後免費下載。本書還配有慕課,請登錄智慧樹網站www.zhihuishu.com,搜索“面向對象程序設計”或掃描前言中的課程二維碼。

目錄大綱

目 錄

第1章 面向對象方法學 1
1.1 面向對象方法學的發展 1
1.2 面向對象方法學的概述 2
1.2.1 面向對象分析 2
1.2.2 面向對象設計 3
1.2.3 面向對象實現 3
1.3 面向對象程序設計的特性 3
1.3.1 抽象 4
1.3.2 封裝 4
1.3.3 繼承 5
1.3.4 多態 5
1.4 面向對象程序設計的術語 6
1.5 面向對象程序設計語言 7
1.5.1 C++ 7
1.5.2 Java 8
1.5.3 C# 9
1.5.4 Python 10
小結 11
習題1 11
第2章 C++概述 12
2.1 C++發展歷程與特點 12
2.2 C++程序 13
2.2.1 C++程序的格式與構成 13
2.2.2 C++程序的編譯與執行 15
2.3 從C到C++ 16
2.4 C++的一些新特性 18
2.4.1 註釋 18
2.4.2 新的數據類型 19
2.4.3 靈活的變量說明 19
2.4.4 作用域運算符 19
2.4.5 命名空間 20
2.4.6 新的輸入/輸出 21
2.4.7 頭文件 23
2.4.8 引用 24
2.5 Visual C++ 2019開發環境簡介 28

小結 30
習題2 30
第3章 類與對象 32
3.1 類的定義 32
3.1.1 類定義格式 32
3.1.2 成員函數的定義 34
3.1.3 類的作用域 34
3.2 對象的定義與使用 35
3.2.1 對象的定義 35
3.2.2 對象的使用 36
3.2.3 對象的賦值 38
3.2.4 對象的生命周期 39
3.3 構造函數和析構函數 42
3.3.1 構造函數 42
3.3.2 析構函數 44
3.4 內存的動態分配 47
3.4.1 運算符new 47
3.4.2 運算符delete 48
3.5 對象數組和對象指針 49
3.5.1 對象數組 49
3.5.2 對象指針 51
3.5.3 自引用指針this 52
小結 54
習題3 54
第4章 函數 56
4.1 函數參數的傳遞機制 56
4.1.1 使用對象作為函數參數 56
4.1.2 使用對象指針作為函數參數 57
4.1.3 使用對象引用作為函數參數 58
4.1.4 三種傳遞方式比較 59
4.2 內聯函數 59
4.3 函數重載 60
4.3.1 非成員函數重載 60
4.3.2 成員函數重載 62
4.4 函數的默認參數值 63

4.5 友元 65
4.5.1 友元函數 65
4.2.2 友元類 69
4.6 靜態成員 70
4.6.1 靜態數據成員 71
4.6.2 靜態成員函數 73
4.6.3 靜態對象 76
4.7 應用實例 77
小結 83
習題4 84
第5章 常量 88
5.1 const的最初動機 88
5.1.1 由define引發的問題 88
5.1.2 const的使用方法 88
5.2 const與指針 89
5.2.1 指向常量的指針 90
5.2.2 常指針 90
5.3 const與引用 91
5.4 const與函數 91
5.4.1 const類型的參數 91
5.4.2 const類型的返回值 92
5.4.3 const在傳遞地址中的應用 93
5.5 const與類 94
5.5.1 類內const局部常量 94
5.5.2 常對象與常成員函數 95
5.6 拷貝構造函數 97
小結 101
習題5 102
第6章 運算符重載 103
6.1 運算符重載的基本概念 103
6.2 成員函數重載運算符 103
6.2.1 重載單目運算符 104
6.2.2 重載雙目運算符 105
6.2.3 重載++、--運算符 107
6.2.4 重載賦值運算符 110
6.2.5 重載下標運算符 113
6.2.6 重載函數調用運算符 115
6.3 友元函數重載運算符 115
6.4 成員函數與友元函數重載運算符的
比較 119
6.5 類型轉換 121
6.5.1 系統預定義類型之間的
轉換 121
6.5.2 用構造函數實現類型轉換 121
6.5.3 用運算符轉換函數實現類型
轉換 124
小結 127
習題6 128
第7章 組合、繼承與多態 130
7.1 組合 130
7.2 繼承 131
7.3 繼承與組合 133
7.4 繼承與組合中的構造和析構 136
7.4.1 成員對象初始化 136
7.4.2 構造和析構順序 136
7.5 名字覆蓋 140
7.6 虛函數 141
7.6.1 靜態綁定與動態綁定 142
7.6.2 虛函數的定義 142
7.6.3 虛析構函數 144
7.7 純虛函數和抽象基類 144
7.8 多重繼承 146
7.8.1 多繼承語法 147
7.8.2 虛基類 148
7.8.3 最終派生類 149
7.8.4 多繼承的構造順序 150
小結 152
習題7 152
第8章 模板 156
8.1 模板的概念 156
8.2 函數模板與模板函數 156
8.3 類模板與模板類 160
8.4 應用實例 164
小結 171
習題8 171
第9章 輸入流/輸出流 173
9.1 C++流類庫簡介 173
9.2 輸入流/輸出流格式 174
9.2.1 基本輸出流 174
9.2.2 基本輸入流 176
9.2.3 格式化輸入/輸出 177
9.2.4 其他輸入/輸出函數 183
9.3 用戶自定義類型的輸入/輸出 185
9.3.1 重載輸出運算符 185
9.3.2 重載輸入運算符 186
9.4 文件輸入/輸出 188
9.4.1 順序訪問文件 188
9.4.2 隨機訪問文件 192
9.5 應用實例 193
小結 198
習題9 198
第10章 異常處理 201
10.1 異常處理概述 201
10.2 拋出異常 201
10.3 異常捕獲 202
10.3.1 異常處理語法 202
10.3.2 異常接口聲明 204
10.3.3 捕獲所有異常 204
10.3.4 未捕獲異常的處理 204
10.4 構造函數、析構函數與異常處理 205
10.5 異常匹配 207
10.6 標準異常及層次結構 208
小結 208
習題10 208
第11章 Visual C++ 2019開發環境 209
11.1 Visual C++ 2019概述 209
11.1.1 Visual Studio 2019 209
11.1.2 Visual C++ 2019 210
11.2 Visual C++ 2019環境 210

11.2.1 Visual C++ 2019操作界面 210
11.2.2 項目 212
11.2.3 調試環境 213
11.3 Windows編程 214
11.3.1 Windows常用數據類型 215
11.3.2 消息與事件 215
11.3.3 窗口消息示例 217
11.4 MFC類庫 219
11.5 MFC編程實例 222
小結 225
習題11 225
第12章 綜合實例 226
12.1 系統分析與設計 226
12.1.1 系統功能分析 226
12.1.2 系統功能類模型 226
12.1.3 系統功能流程 227
12.2 設計實現 228
12.2.1 系統程序框架生成 228
12.2.2 建立圖元類 230
12.2.3 界面控制 233
12.2.4 繪制圖元——線段 235
12.2.5 繪制圖元——矩形 240
12.2.6 繪制圖元——橢圓 243
12.2.7 繪制圖元——文字 246
12.2.8 繪制圖元——折線/多邊形 248
12.2.9 圖元文件存取 251
小結 260
習題12 260
參考文獻 261