C++游戏编程
作 者: 邹吉滔,姚雷,易巧玲 编著
出版时间:2011
丛编项: 第九艺术学院——游戏开发系列
内容简介
《C++游戏编程》介绍如何用C++语言进行游戏程序开发。全书可分为C++语言的基础语法、面向对象编程技术、标准模板库的应用三个部分,共18章,主要内容包括:概观程序设计,开发环境简介,基本数据类型,运算符与表达式,程序的结构,宏和编译预处理,数组,函数与程序结构,指针和引用,结构、联合、枚举,类与对象,静态成员与友元,继承与多态,运算符重载,模板,标准模板库,I/O流,异常处理等。《C++游戏编程》适合游戏开发人员及游戏相关专业师生学习使用,也可供C++编程爱好者参考。
目录
第1章 概观程序设计
1.1 程序设计发展历程
1.1.1 什么是计算机程序
1.1.2 计算机程序语言的发展历史
1.2 程序设计思想
1.2.1 结构化程序设计思想
1.2.2 面向对象程序设计思想
本章小结
第2章 开发环境简介
2.1 VisualStudio.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 .3vi编辑器环境设置
2.2.4 g++编译程序的方法
2.2.5 g++编译程序的选项
2.2.6 运行应用程序
2.2.7 帮助文档的使用
2.3 Code Blocks集成开发工具介绍
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 size of运算符
4.9 条件运算符和条件表达式
4.1 0逗号运算符和逗号表达式
4.1 1优先性和结合性
本章小结
习题
第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 应用举例
9.19 返回引用
9.20 函数调用作为左值
9.21 const限定的引用
9.22 返回堆中变量的引用
本章小结
习题
第10章 结构、联合、枚举
10.1 自定义数据类型概述
10.2 结构的定义
10.3 结构初始化
10.4 访问结构成员
10.5 结构与数组
lO.6 结构与指针
10.7 结构与引用
10.8 在函数中使用结构
10.9 结构的复杂形式
10.1 0链表
10.1 1联合
10.1 2枚举
本章小结
习题
第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.12const成员
本章小结
习题
第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 为什么使用虚函数