C++程式設計教程 內容簡介
C++是一種高效套用的程式設計語言,它即可進行過程化程式設計,也可進行面向對象程式設計,因而成了編程人員最廣泛使用的工具。學好C++,很容易觸類旁通其他軟體,C++架起了通向強大、易用、真正的軟體開發套用的橋樑。許多高等院校已經開設了C++程式設計語言課,急需一本實用的教材,本書是作者總結兩年教學實踐的經驗寫成的,適合用作大學計算機專業和非計算機專業的程式設計基礎課程教材,也可供自學的讀者使用。本書共分兩大部分。第一部分,第1章至第10章是基礎部分,主要介紹C++程式設計語言、程式結構和過程化基礎。第二部分,第11章至第12章,是面向對象程式設計部分,它建立在C++程式設計上,講述了面向對象程式設計方法。 本書共分兩大部分。第一部分,第1章至第10章是基礎部分,主要介紹C++程式設計語言、程式結構和過程化基礎。第二部分,第11章至第21章,是面向對象程式設計部分,它建立在C十+程式設計基礎之上,講述了面向對象程式設計方法。C++程式設計教程 本書目錄
第一部分 C++過程化語言基礎第1章 C++入門
1.1 從C到C++
1.2 程式與語言
1.3 結構化程式設計
1.4 面向對象程式設計
1.5 程式開發過程
1.6 最簡單的程式
1.7 函式小結
第2章 基本數據類型與輸入輸出
2.1 字元集與保留字
2.2 基本數據類型
2.3 變數定義
2.4 常量
2.5 常量定義
2.6 I/O流控制
2.7 printf與scanf小結練習
第3章 表達式和語句
3.1 表達式
3.2 算術運算和賦值
3.3 算術類型轉換
3.4 增量和減量
3.5 關係與邏輯運算
3.6 if語句
3.7 條件運算符
3.8 逗號表達式
3.9 求值次序與副作用小結練習
第4章 過程化語句
4.1 while語句
4.2 do...while語句
4.3 for語句
4.4 switch語句
4.5 轉向語句
4.6 過程套用:求Π
4.7 過程套用:判明素數
4.8 過程套用:求積分小結練習
第5章 函式
5.1 函式概述
5.2 函式原型
5.3 全局變數與局部變數
5.4 函式調用機制
5.5 靜態局部變數
5.6 遞歸函式
5.7 內聯函式
5.8 重載函式
5.9 默認參數的函式小結練習
第6章 程式結構
6.1 外部存儲類型
6.2 靜態存儲類型
6.3 作用域
6.4 可見性
6.5 生命期
6.6 頭檔案
6.7 多檔案結構
6.8 編譯預處理小結練習
第7章 數組
7.1 數組定義
7.2 訪問數組元素
7.3 初始化數組
7.4 向函式傳遞數組
7.5 二維數組
7.6 數組套用:排序
7.7 數組套用:Josephus問題
7.8 數組套用:矩陳乘法小結練習
第8章 指針
8.1 指針概念
8.2 指針運算
8.3 指針與數組
8.4 堆記憶體分配
8.5 const指針
8.6 指針與函式
8.7 字元指針
8.8 指針數組
8.9 命令行參數
8.10 函式指針小結練習
第9章 引用
9.1 引用的概念
9.2 引用的操作
9.3 什麼能被引用
9.4 用引用傳遞函式參數
9.5 返回多個值
9.6 用引用返回值
9.7 函式調用作為左值
9.8 用const限定引用
9.9 返回堆中變數的引用小結練習
第10章 結構
10.1 結構
10.2 結構與指針
10.3 結構與數組
10.4 傳遞結構參數
10.5 返回結構
10.6 鍊表結構
10.7 創建與遍歷鍊表
10.8 刪除鍊表結點
10.9 結構套用:Josephus問題
10.10小結練習
第二部分 面向對象程式設計
第11章 類
11.1 從結構到類
11.2 軟體方法的發展必然
11.3 定義成員函式
11.4 調用成員函式
11.5 保護成員
11.6 禁止類的內部實現
11.7 再論程式結構小結練習
第12章 構造函式
12.1 類與對象
12.2 構造函式的需要性
12.3 構造函式的使用
12.4 析構函式
12.5 帶參數的構造函式
12.6 重載構造函式
12.7 默認構造函式
12.8 類成叫初始化的困惑
12.9 構造類成員
12.10 構造對象的順序小結練習
第13章 面向對象程式設計
13.1 抽象
13.2 分類
13.3 設計和效率
13.4 討論Josephus問題
13.5 結構化方法
13.6 結構化方法的實現
13.7 面向對象方法
13.8 面向對象方法的實現
13.9 程式維護小結練習
第14章 堆與拷貝構造函式
14.1 關於堆
14.2 需要new和delete的原因
14.3 分配堆對象
14.4 拷貝構造函式
14.5 默認拷貝構造函式
14.6 淺拷貝與深拷貝
14.7 臨時對象
14.8 無名對象
14.9 構造函式用於類型轉換小結練習
第15章 靜態成員與友元
15.1 靜態成員的需要性
15.2 靜態成員的使用
15.3 靜態數據成員
15.4 靜態成員函式
15.5 需要友元的原因
15.6 友元的使用小結練習
第16章 繼承
16.1 繼承的概念
16.2 繼承的工作方式
16.3 派生類的構造
16.4 繼承與組合
16.5 多態性
16.6 多態的思考方式
16.7 多態性如何工作
16.8 不恰當的虛函式
16.9 虛函式限制
16.10 類的冗餘
16.11 克服冗餘帶來的問題
16.12 類的分解
16.13 抽象類
16.14 由抽象類派生具體類
16.15 純虛函式的需要性小結練習
第17章 多重繼承
17.1 多繼承如何工作
17.2 繼承的模糊性
17.3 虛擬繼承
17.4 多繼承的構造順序
17.5 繼承的訪問控制
17.6 保護繼承與私有繼承小結練習
第18章 運算符重載
18.1 運算符重載的需要性
18.2 如何重載運算符
18.3 值返回與引用返回
18.4 運算符成員函式
18.5 得載增量運算符
18.6 轉換運算符
18.7 賦值運算符小結練習
第19章 I/O流
19.1 printf和scanf的缺陷
19.2 I/O標準流類
19.3 檔案流類
19.4 串流類
19.5 控制符
19.6 使用I/O成叫函式
19.7 重載插入運算符
19.8 插入運算符與虛函式
19.9 檔案操作小結練習
第20章 模板
20.1 模板的概念
20.2 為什麼要用模板
20.3 函式模板
20.4 重載模板函式
20.5 類模板的定義
20.6 使用類模板
20.7 使用標準模板類庫:Josephus問題小結練習
第21章 異常處理
21.1 異常的概念
21.2 異常的基本思想
21.3 異常的實現
21.4 異常的規則
21.5 多路捕捉
21.6 異常處理機制
21.7 使用異常的方法小結練習參考文獻
參考文獻