C++程式設計與實踐(第2版)

C++程式設計與實踐(第2版)

《C++程式設計與實踐(第2版)》是2016年10月機械工業出版社出版的圖書,作者是白忠建。

基本介紹

  • 書名:C++程式設計與實踐(第2版)
  • 作者:白忠建
  • ISBN:9787111544913
  • 定價:49元
  • 出版社:機械工業出版社
  • 出版時間:2016年10月
  • 裝幀:平裝
  • 開本:16開
作者簡介,內容簡介,圖書目錄,

作者簡介

白忠建,電子科技大學副教授,成都學院計算機系系主任。主尋照埋舉持及參研項目多項,獲四川省科技進步三等獎、成都市科技進步獎。課程獲評四川省精品課程、教育部-微軟精品課程。

內容簡介

《C++程式設計與實踐 第2版》採用逐層遞進的方式,通過對案例的分析,將C++的語法及編程方法逐步展開。《C++程式設計與實踐 第2版》以C++ 1y標準為基準,詳細介紹了對象和面向對象技術的概念,並圍繞案例的求解,深入淺出地介紹了面向對象技術的4個核心思想(數據封裝、繼承、多態和泛型編程)在C++中的概念、實現機制和語法、編程方法等,其中包括類和對象、運算符重載、繼承和派生、虛函式和多態性、模板和泛型編程、流庫、多繼承、名字空間和異常處理,使讀者能夠循序漸進地掌握C++的語法以及面向對象程式設計的方法。 本著“能力為重”的理念,在每一章的重要知識點之後均穿插了適量的實踐性題目,建議讀者動手實踐,以加深腿戰勸放理解。 《C++程式設計與實踐 第2版》既可作為高等院校計算機專業相關課程的教材,也可作為C++程式設計師的參考書。

圖書目錄

前言
第1章引論
1.1對象的概念
1.1.1現實世界中的對象
1.2.1計算機中的對象
1.2面向過程和面向對象
1.2.1面向過程方法
1.2.2面向對象方法
1.3面向對象技術的核心概念
1.3.1數據封裝
1.3.2繼承
1.3.3多態性
1.3.4泛型編程
1.4C++程式概貌
1.4.1第一個C++程式
1.4.2C++程式的編輯、編譯和連結
1.5貫穿全書的案例
第2章C++的數據類型
2.1C++數據類型概覽
2.2標識符、常量和變數
2.2.1標識符
2.2.2常量
2.2.3變數
2.2.4變數的初始化
2.3簡單數據類型
2.3.1整數類型
2.3.2浮點類型
2.3.3枚舉類型
2.4地址數據類型
2.4.1指針類型
2.4.2引用類型
2.4.3右值引用
2.5結構化數據類型
2.5.1數組
2.5.2結構體
2.5.3用typedef定義類型的別名
2.6運算符和表達式
2.6.1常用運算符和表達式
2.6.2幾種特殊的櫻晚肯運算符
2.7類型自動推導
2.7.1decltype關鍵字
2.7.2auto關鍵字
2.8lambda表達式
第3章C++語句
3.1C++語句概述
3.1.1表達式語句
3.1.2複合語句
3.1.3標號語句
3.2流程剃地棗控制結構和語句
3.2.1順序結構
3.2.2選擇結構和語句
3.2.3循環結構和語句
3.2.4跳轉語句
3.3異常處理語句
3.3.1異常的概念
3.3.2拋出異常
3.3.3異常捕獲
第4章函式灑探葛
4.1函式的原型聲明和定義
4.1.1函式原型聲明
4.1.2函式的類型
4.2函式的參數和返回值
4.2.1函式的參數
4.2.2函式的返回值
4.3函式重載
4.4存儲類修飾符
4.5標識符的作用刪殃域和生命期
4.5.1作用域和生命期
4.5.2名字限定
4.6函式的其他話題
4.6.1內聯函式
4.6.2函式遞歸
4.6.3指向函式的指針和引用
4.6.4函式類型作為參數和返回值
類型
4.6.5在C++程式中調用非C++
函式
4.6.6後綴函式返回類型
4.7“圖形學習”案例的C風格
解決方案
4.7.1案例分析
4.7.2形體建模
4.7.3存儲模型
4.7.4改進的形體和鍊表設計
4.7.5形體和鍊表的操作接口設計
4.7.6任務集成
4.7.7建造工程
第5章類和對象
5.1案例分析——平面圓的模型
5.2類與對象
5.2.1類的定義
5.2.2類和對象
5.2.3訪問控制
5.3類的成員
5.3.1數據成員
5.3.2成員函式
5.3.3靜態成員
5.4類對象的初始化
5.5C++的類
5.6數據封裝和信息隱藏的意義
5.7用面向對象的方式思考
5.8“圖形學習”解決方案——
封裝
5.8.1形體類型的類版本
5.8.2鍊表類型的類版本
5.8.3讓任務也成為類
第6章深入類和對象
6.1案例分析——數組
包裝類array
6.2構造函式和析構函式
6.2.1構造函式
6.2.2重載構造函式
6.2.3析構函式
6.2.4複製控制
6.3再談對象創建和初始化
6.3.1對象的創建和臘旋促釋放
6.3.2對象的初始化
6.4對象和指針
6.4.1this指針
6.4.2指向類對象的指針
6.4.3指向類成員的指針
6.5友元關係
6.5.1友元函式和友元類
6.5.2友元關係的特性
6.6與類和對象相關的問題
6.6.1對象數組
6.6.2類對象作為函式參數和返回值
6.6.3常量對象和mutable關鍵字
6.6.4常成員函式
6.6.5類中的類型
6.7“圖形學習”解決方案——
類強化
6.7.1形體類的構造函式和析構函式
6.7.2列表類的構造函式和析構函式
第7章運算符重載
7.1案例分析——complex類及其
常規運算
7.2運算符的重載形式
7.2.1運算符重載的語法
7.2.2重載運算符規則
7.3常用運算符的重載
7.3.1重載賦值運算符
7.3.2重載算術運算符
7.3.3重載++和--運算符
7.3.4重載關係運算符
7.4幾種特殊運算符的重載
7.4.1重載輸入/輸出運算符>>和<<
7.4.2重載類型轉換運算符
7.4.3重載[]運算符
7.4.4重載指針運算符
7.4.5重載()運算符
7.5“圖形學習”解決方案——為
List類重載運算符
第8章繼承和派生
8.1案例分析——食肉動物的
分類
8.2繼承和派生的詳細介紹
8.2.1繼承的前提:分類
8.2.2繼承的語法及基本概念
8.2.3訪問控制
8.2.4繼承的實現機制
8.2.5基類的protected成員
8.2.6訪問聲明
8.2.7基類靜態成員的派生
8.2.8開閉原則
8.3基類與派生類的關係
8.3.1基類對象的初始化
8.3.2派生類對象和基類對象的
相互轉換
8.3.3派生類中重新定義基類的
成員
8.3.4派生類繼承基類重載的運
算符函式
8.4何時使用繼承
8.4.1類/對象之間的關係
8.4.2組合/聚集復用原則
8.5繼承的意義
8.5.1模組的觀點
8.5.2類型的觀點
8.6“圖形學習”解決方案——使用
繼承
8.6.1形體類的改造
8.6.2鍊表類的改造
第9章虛函式和多態性
9.1案例分析——派生類重載基類
方法的問題
9.2多態性的概念
9.2.1靜態多態性
9.2.2動態多態性
9.3實現多態的基石——虛函式
9.3.1虛函式的概念和特性
9.3.2虛函式的實現機制
9.3.3override和final描述符
9.4純虛函式和抽象類
9.4.1純虛函式
9.4.2抽象類
9.5類的設計:OOD原則
9.5.1依賴倒置原則
9.5.2接口隔離原則
9.5.3最少知識原則
9.6“圖形學習”解決方案——抽象化
頂層類
9.6.1將Quadrangle類改造成抽象類
9.6.2更為抽象的容器類
第10章模板和泛型編程
10.1案例分析——被類型困擾的
函式重載和類
10.2函式模板
10.2.1函式模板的定義和使用
10.2.2重載模板函式和非模板函式
10.2.3函式模板的特化
10.3類模板
10.3.1類模板的定義和使用
10.3.2類模板的成員
10.3.3類模板的特化
10.3.4類模板中的友元
10.3.5類模板的繼承和派生
10.4容器類和疊代器
10.4.1容器類的疊代操作
10.4.2疊代器
10.5泛型算法
10.5.1泛型算法函式的設計
10.5.2帶謂詞的泛型算法
10.5.3函式後綴返回類型用於泛型
10.6C++標準模板庫STL
10.6.1C++的標準容器類
10.6.2C++的標準泛型算法和
可調用對象
10.6.3C++ STL的套用
10.7解決方案
第11章流庫
11.1案例分析——C風格輸入/輸
出的缺陷
11.2C++的I/O系統
11.3C++流庫的結構
11.3.1輸入/輸出流的含義
11.3.2C++流庫的基本結構
11.4輸入和輸出
11.4.1istream
11.4.2ostream
11.4.3輸出運算符<<
11.4.4輸入運算符>>
11.5格式控制
11.5.1用iso類成員函式格式化
11.5.2用操縱函式格式化
11.6檔案I/O
11.6.1檔案的概念
11.6.2檔案的打開和關閉
11.6.3檔案的讀寫
第12章多繼承
12.1案例分析——正方形的繼承
問題
12.2多繼承的概念
12.2.1多繼承的語法
12.2.2派生類對象的構造和析構
12.3虛繼承和虛基類
12.3.1多繼承的二義性問題
12.3.2虛繼承和虛基類的使用
12.3.3最終派生類對象的初始化
第13章名字空間和異常處理
13.1案例分析——命名衝突和程式
異常
13.2名字空間
13.2.1名字空間的定義
13.2.2嵌套的名字空間
13.2.3using聲明
13.2.4using指令
13.2.5匿名名字空間
13.3異常處理
13.3.1throw和try…catch
13.3.2標準異常類型
13.3.3在構造函式中拋出異常
13.3.4異常匹配
13.3.5含有異常的程式設計
13.3.6異常的典型使用
13.3.7開銷
附錄
附錄AC++關鍵字
附錄B運算符的優先權和結合性
附錄C標準C++頭檔案
附錄DUML常用圖例
參考文獻
2.7.2auto關鍵字
2.8lambda表達式
第3章C++語句
3.1C++語句概述
3.1.1表達式語句
3.1.2複合語句
3.1.3標號語句
3.2流程控制結構和語句
3.2.1順序結構
3.2.2選擇結構和語句
3.2.3循環結構和語句
3.2.4跳轉語句
3.3異常處理語句
3.3.1異常的概念
3.3.2拋出異常
3.3.3異常捕獲
第4章函式
4.1函式的原型聲明和定義
4.1.1函式原型聲明
4.1.2函式的類型
4.2函式的參數和返回值
4.2.1函式的參數
4.2.2函式的返回值
4.3函式重載
4.4存儲類修飾符
4.5標識符的作用域和生命期
4.5.1作用域和生命期
4.5.2名字限定
4.6函式的其他話題
4.6.1內聯函式
4.6.2函式遞歸
4.6.3指向函式的指針和引用
4.6.4函式類型作為參數和返回值
類型
4.6.5在C++程式中調用非C++
函式
4.6.6後綴函式返回類型
4.7“圖形學習”案例的C風格
解決方案
4.7.1案例分析
4.7.2形體建模
4.7.3存儲模型
4.7.4改進的形體和鍊表設計
4.7.5形體和鍊表的操作接口設計
4.7.6任務集成
4.7.7建造工程
第5章類和對象
5.1案例分析——平面圓的模型
5.2類與對象
5.2.1類的定義
5.2.2類和對象
5.2.3訪問控制
5.3類的成員
5.3.1數據成員
5.3.2成員函式
5.3.3靜態成員
5.4類對象的初始化
5.5C++的類
5.6數據封裝和信息隱藏的意義
5.7用面向對象的方式思考
5.8“圖形學習”解決方案——
封裝
5.8.1形體類型的類版本
5.8.2鍊表類型的類版本
5.8.3讓任務也成為類
第6章深入類和對象
6.1案例分析——數組
包裝類array
6.2構造函式和析構函式
6.2.1構造函式
6.2.2重載構造函式
6.2.3析構函式
6.2.4複製控制
6.3再談對象創建和初始化
6.3.1對象的創建和釋放
6.3.2對象的初始化
6.4對象和指針
6.4.1this指針
6.4.2指向類對象的指針
6.4.3指向類成員的指針
6.5友元關係
6.5.1友元函式和友元類
6.5.2友元關係的特性
6.6與類和對象相關的問題
6.6.1對象數組
6.6.2類對象作為函式參數和返回值
6.6.3常量對象和mutable關鍵字
6.6.4常成員函式
6.6.5類中的類型
6.7“圖形學習”解決方案——
類強化
6.7.1形體類的構造函式和析構函式
6.7.2列表類的構造函式和析構函式
第7章運算符重載
7.1案例分析——complex類及其
常規運算
7.2運算符的重載形式
7.2.1運算符重載的語法
7.2.2重載運算符規則
7.3常用運算符的重載
7.3.1重載賦值運算符
7.3.2重載算術運算符
7.3.3重載++和--運算符
7.3.4重載關係運算符
7.4幾種特殊運算符的重載
7.4.1重載輸入/輸出運算符>>和<<
7.4.2重載類型轉換運算符
7.4.3重載[]運算符
7.4.4重載指針運算符
7.4.5重載()運算符
7.5“圖形學習”解決方案——為
List類重載運算符
第8章繼承和派生
8.1案例分析——食肉動物的
分類
8.2繼承和派生的詳細介紹
8.2.1繼承的前提:分類
8.2.2繼承的語法及基本概念
8.2.3訪問控制
8.2.4繼承的實現機制
8.2.5基類的protected成員
8.2.6訪問聲明
8.2.7基類靜態成員的派生
8.2.8開閉原則
8.3基類與派生類的關係
8.3.1基類對象的初始化
8.3.2派生類對象和基類對象的
相互轉換
8.3.3派生類中重新定義基類的
成員
8.3.4派生類繼承基類重載的運
算符函式
8.4何時使用繼承
8.4.1類/對象之間的關係
8.4.2組合/聚集復用原則
8.5繼承的意義
8.5.1模組的觀點
8.5.2類型的觀點
8.6“圖形學習”解決方案——使用
繼承
8.6.1形體類的改造
8.6.2鍊表類的改造
第9章虛函式和多態性
9.1案例分析——派生類重載基類
方法的問題
9.2多態性的概念
9.2.1靜態多態性
9.2.2動態多態性
9.3實現多態的基石——虛函式
9.3.1虛函式的概念和特性
9.3.2虛函式的實現機制
9.3.3override和final描述符
9.4純虛函式和抽象類
9.4.1純虛函式
9.4.2抽象類
9.5類的設計:OOD原則
9.5.1依賴倒置原則
9.5.2接口隔離原則
9.5.3最少知識原則
9.6“圖形學習”解決方案——抽象化
頂層類
9.6.1將Quadrangle類改造成抽象類
9.6.2更為抽象的容器類
第10章模板和泛型編程
10.1案例分析——被類型困擾的
函式重載和類
10.2函式模板
10.2.1函式模板的定義和使用
10.2.2重載模板函式和非模板函式
10.2.3函式模板的特化
10.3類模板
10.3.1類模板的定義和使用
10.3.2類模板的成員
10.3.3類模板的特化
10.3.4類模板中的友元
10.3.5類模板的繼承和派生
10.4容器類和疊代器
10.4.1容器類的疊代操作
10.4.2疊代器
10.5泛型算法
10.5.1泛型算法函式的設計
10.5.2帶謂詞的泛型算法
10.5.3函式後綴返回類型用於泛型
10.6C++標準模板庫STL
10.6.1C++的標準容器類
10.6.2C++的標準泛型算法和
可調用對象
10.6.3C++ STL的套用
10.7解決方案
第11章流庫
11.1案例分析——C風格輸入/輸
出的缺陷
11.2C++的I/O系統
11.3C++流庫的結構
11.3.1輸入/輸出流的含義
11.3.2C++流庫的基本結構
11.4輸入和輸出
11.4.1istream
11.4.2ostream
11.4.3輸出運算符<<
11.4.4輸入運算符>>
11.5格式控制
11.5.1用iso類成員函式格式化
11.5.2用操縱函式格式化
11.6檔案I/O
11.6.1檔案的概念
11.6.2檔案的打開和關閉
11.6.3檔案的讀寫
第12章多繼承
12.1案例分析——正方形的繼承
問題
12.2多繼承的概念
12.2.1多繼承的語法
12.2.2派生類對象的構造和析構
12.3虛繼承和虛基類
12.3.1多繼承的二義性問題
12.3.2虛繼承和虛基類的使用
12.3.3最終派生類對象的初始化
第13章名字空間和異常處理
13.1案例分析——命名衝突和程式
異常
13.2名字空間
13.2.1名字空間的定義
13.2.2嵌套的名字空間
13.2.3using聲明
13.2.4using指令
13.2.5匿名名字空間
13.3異常處理
13.3.1throw和try…catch
13.3.2標準異常類型
13.3.3在構造函式中拋出異常
13.3.4異常匹配
13.3.5含有異常的程式設計
13.3.6異常的典型使用
13.3.7開銷
附錄
附錄AC++關鍵字
附錄B運算符的優先權和結合性
附錄C標準C++頭檔案
附錄DUML常用圖例
參考文獻

相關詞條

熱門詞條

聯絡我們