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 程序的写作风格
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b42e6e4b069f82a1a6acf.png)
思维导图在线编辑链接: