C++游戲編程


C++游戲編程

1 概觀程序設計

1.1 程序設計發展歷程

1.1.1 什么是計算機程序
1.1.2 計算機程序語言的發展歷史

1.2 程序設計思想

1.2.1 結構化程序設計思想
1.2.2 面向對象程序設計思想

本章小結

2 開發環境簡介

2.1 Visual Studio .NET集成開發環境

2.1.1 創建項目
2.1.2 創建文件
2.1.3 項目屬性設置
2.1.4 編譯和運行
2.1.5 調試
2.1.6 輔助工具
2.1.7 解決方案資源管理器
2.1.8 類視圖
2.1.9 文件視圖
2.1.10 資源視圖
2.1.11 幫助文檔的使用

2.2 Linux下的開發環境

2.2.1 Vi編輯器的基本使用
2.2.2 Vi編輯器的命令
2.2.3 Vi編輯器環境設置
2.2.4 g++編譯程序的方法
2.2.5 g++編譯程序的選項
2.2.6 運行應用程序
2.2.7 幫助文檔的使用

2.3 CodeBlocks集成開發工具介紹

2.3.1 創建工程
2.3.2 創建文件
2.3.3 項目屬性設置
2.3.4 編譯及運行

2.4 繪圖函數庫的使用

本章小結

3 基本數據類型

3.1 基本程序組成結構

3.1.1 一個基本的C++程序
3.1.2 基本輸入輸出

3.2 字符集和關鍵字

3.3 C++的數據類型概述

3.4 基本數據類型

3.4.1 整型數據
3.4.2 浮點型數據
3.4.3 字符型數據
3.4.4 bool類型
3.4.5 void類型
3.4.6 常量與變量

3.5 類型轉換

3.5.1 隱式類型轉換
3.5.2 強制類型轉換

本章小結

4 運算符與表達式

4.1 概述

4.2 運算符和表達式

4.2.1 運算符和表達式的種類
4.2.2 左值和右值

4.3 算術運算符和算術表達式

4.4 自增和自減運算符

4.5 賦值運算符和賦值表達式

4.5.1 賦值運算符與賦值運算
4.5.2 復合賦值運算符
4.5.3 賦值表達式

4.6 關系運算符和關系表達式

4.7 邏輯運算符和邏輯表達式

4.7.1 邏輯運算符
4.7.2 邏輯表達式

4.8 sizeof運算符

4.9 條件運算符和條件表達式

4.10 逗號運算符和逗號表達式

4.11 優先性和結合性

本章小結

習題

5 程序的結構

5.1 順序結構

5.2 分支結構程序設計

5.2.1 if…else…結構
5.2.2 switch語句
5.2.3 goto語句

5.3 循環結構程序設計

5.3.1 for語句
5.3.2 while語句
5.3.3 do-while語句
5.3.4 循環的嵌套

5.4 break、continue語句

5.4.1 break語句
5.4.2 continue語句

本章小結

習題

6 宏和編譯預處理

6.1 宏定義

6.2 頭文件包含

6.3 條件編譯

6.4 其他預處理指令

本章小結

習題

7 數組

7.1 為何需要數組

7.2 聲明數組

7.3 訪問數組元素

7.4 數組的初始化

7.5 數組應用舉例

7.5.1 選擇排序
7.5.2 冒泡排序
7.5.3 更多排序算法

7.6 字符串與字符數組

7.7 數組作為函數參數

7.8 二維數組

7.8.1 二維數組的定義
7.8.2 二維數組中元素的引用
7.8.3 二維數組的初始化
7.8.4 二維數組程序舉例

7.9 多維數組

7.9.1 多維數組的定義
7.9.2 多維數組的引用

本章小結

習題

8 函數與程序結構

8.1 函數的概念

8.2 函數定義

8.3 函數聲明

8.4 函數調用

8.5 變量的作用域類型

8.5.1 局部變量
8.5.2 全局變量

8.6 變量的存儲類型

8.6.1 動態存儲變量
8.6.2 靜態存儲變量

8.7 函數返回值

8.8 默認函數參數

8.9 內聯函數

8.10 函數重載

8.11 作用域

8.11.1 局部作用域
8.11.2 函數作用域
8.11.3 函數原型作用域

8.12 可見性與生命期

8.12.1 可見性
8.12.2 生命期
8.12.3 補充說明

8.13 綜合應用舉例

8.14 遞歸函數

8.14.1 遞歸函數舉例
8.14.2 遞歸調用過程分析
8.14.3 遞歸程序設計方法

8.15 程序文件結構

8.15.1 頭文件
8.15.2 文件作用域
8.15.3 多文件結構
8.15.4 外部存儲類型

本章小結

習題

9 指針和引用

9.1 指針的概念

9.2 指針聲明和賦值

9.3 通過指針訪問數據

9.4 指針運算

9.5 動態內存分配

9.5.1 malloc()和free()函數
9.5.2 new和delete運算符
9.5.3 指針與數組

9.6 動態內存分配的應用

9.6.1 應用舉例1
9.6.2 應用舉例2

9.7 const指針

9.8 指針作為函數參數

9.9 指針函數

9.10 函數指針

9.11 指針數組

9.12 指向指針的指針

9.13 常見的內存錯誤及其對策

9.14 引用的定義

9.15 使用引用訪問數據

9.16 引用與指針對比

9.17 引用做函數的參數

9.18 應用舉例3

9.19 返回引用

9.20 函數調用作為左值

9.21 const限定的引用

9.22 返回堆中變量的引用

本章小結

習題

10 結構、聯合、枚舉

10.1 自定義數據類型概述

10.2 結構的定義

10.3 結構初始化

10.4 訪問結構成員

10.5 結構與數組

10.6 結構與指針

10.7 結構與引用

10.8 在函數中使用結構

10.9 結構的復雜形式

10.10 鏈表

10.11 聯合

10.12 枚舉

本章小結

習題

11 類與對象

11.1 抽象概述

11.2 類的概念

11.3 類的定義

11.3.1 類與結構
11.3.2 類的聲明
11.3.3 類成員的訪問控制
11.3.4 數據成員
11.3.5 成員函數
11.3.6 重載成員函數
11.3.7 類定義的注意事項
11.3.8 類聲明和類定義

11.4 對象

11.4.1 類與對象的區別和聯系
11.4.2 對象的聲明
11.4.3 訪問數據成員
11.4.4 調用成員函數

11.5 綜合應用

11.6 構造函數

11.6.1 為何需要構造函數
11.6.2 構造函數的定義
11.6.3 帶參數構造函數
11.6.4 默認構造函數
11.6.5 重載構造函數

11.7 類對象成員的初始化

11.8 析構函數

11.8.1 為何需要析構函數
11.8.2 析構函數的定義
11.8.3 何時需要使用析構函數

11.9 堆棧和內存分配

11.9.1 內存管理概述
11.9.2 變量與對象的空間分配時機與初始化
11.9.3 為什么使用new/delete操作符

11.10 拷貝構造函數

11.10.1 程序出錯的原因分析
11.10.2 拷貝構造函數
11.10.3 默認拷貝構造函數
11.10.4 淺拷貝與深拷貝

11.11 臨時對象和無名對象

11.11.1 臨時對象
11.11.2 無名對象

11.12 const成員

本章小結

習題

12 靜態成員與友元

12.1 靜態成員

12.1.1 為何需要靜態成員
12.1.2 靜態成員變量
12.1.3 靜態成員函數

12.2 友元

12.2.1 為何需要友元
12.2.2 友元函數
12.2.3 友元類

13 繼承與多態

13.1 繼承與派生的概念

13.2 繼承的實現方式

13.3 繼承類的構造與析構

13.3.1 繼承類的構造
13.3.2 構造函數的參數傳遞

13.4 基類訪問控制

13.5 多態與虛函數

13.5.1 為什么使用虛函數
13.5.2 虛函數
13.5.3 重載、隱藏與覆蓋
13.5.4 虛函數的限制

13.6 多繼承

13.6.1 多繼承的實現
13.6.2 多繼承的二義性
13.6.3 多繼承的構造順序

13.7 虛基類

13.7.1 虛基類的定義
13.7.2 虛基類的構造函數和初始化

本章小結

習題

14 運算符重載

14.1 為何要重載運算符

14.2 運算符重載的實現

14.2.1 成員函數運算符重載
14.2.2 友元函數運算符重載

14.3 單目運算符和雙目運算符

14.4 引用返回和值返回

14.5 常見的運算符重載

14.5.1 賦值與比較運算符
14.5.2 遞增與遞減運算符
14.5.3 數組存取標識符

本章小結

習題

15 模板

15.1 為何需要模板

15.2 函數模板

15.2.1 函數模板的概念
15.2.2 函數模板的定義
15.2.3 函數模板的實例化
15.2.4 重載模板函數

15.3 類模板

15.3.1 類模板的定義
15.3.2 使用類模板

15.4 綜合應用

本章小結

16 標准模板庫

16.1 標准模板庫的基本組成

16.2 標准命名空間

16.3 容器

16.3.1 順序容器
16.3.2 關系式容器

16.4 迭代器

16.5 算法

本章小結

17 I/O流

17.1 流的概念

17.2 I/O標准流類

17.2.1 標准流的設備名
17.2.2 原理

17.3 輸入輸出的格式控制

17.3.1 用ios類的成員函數進行格式控制
17.3.2 使用格式控制符進行格式控制

17.4 輸入輸出運算符的重載

17.4.1 重載輸出運算符
17.4.2 重載輸入運算符

17.5 文件流

17.5.1 打開文件
17.5.2 關閉文件
17.5.3 寫入文件
17.5.4 讀取文件
17.5.5 常用操作和狀態檢測
17.5.6 讀寫隨機文件
17.5.7 二進制文件的處理

本章小結

習題

18 異常處理

18.1 傳統的錯誤處理方式

18.2 異常處理的思想

18.3 異常處理的實現方式

18.4 構造和析構中的異常拋出

18.5 異常規格說明

18.6 標准異常

本章小結

附錄A 程序的寫作風格

思維導圖

C++游戲編程

防止博客圖床圖片失效,防止圖片源站外鏈:

http://www.processon.com/chart_image/5e5b42e6e4b069f82a1a6acf.png)

思維導圖在線編輯鏈接:

https://www.processon.com/view/5e5b42e6e4b069f82a1a6acc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM