词条 | C++游戏编程 |
释义 | 基本信息C++游戏编程 作者:邹吉涛、姚雷、易巧玲 ISBN:9787302245919 定价:50元 印次:1-1 装帧:平装 印刷日期:2011-1-7 内容简介本书介绍如何用C++语言进行游戏程序开发。全书可分为C++语言的基础语法、面向对象编程技术、标准模板库的应用三个部分,共18章,主要内容包括:概观程序设计,开发环境简介,基本数据类型,运算符与表达式,程序的结构,宏和编译预处理,数组,函数与程序结构,指针和引用,结构、联合、枚举,类与对象,静态成员与友元,继承与多态,运算符重载,模板,标准模板库,I/O流,异常处理等。 本书适合游戏开发人员及游戏相关专业师生学习使用,也可供C++编程爱好者参考。 目录第1章 概观程序设计 1 1.1 程序设计发展历程 1 1.1.1 什么是计算机程序 1 1.1.2 计算机程序语言的发展历史 2 1.2 程序设计思想 4 1.2.1 结构化程序设计思想 4 1.2.2 面向对象程序设计思想 5 本章小结 8 第2章 开发环境简介 9 2.1 Visual Studio .NET集成开发环境 9 2.1.1 创建项目 10 2.1.2 创建文件 12 2.1.3 项目属性设置 12 2.1.4 编译和运行 13 2.1.5 调试 14 2.1.6 辅助工具 14 2.1.7 解决方案资源管理器 18 2.1.8 类视图 19 2.1.9 文件视图 20 2.1.10 资源视图 20 2.1.11 帮助文档的使用 28 2.2 Linux下的开发环境 28 2.2.1 Vi编辑器的基本使用 29 2.2.2 Vi编辑器的命令 29 2.2.3 Vi编辑器环境设置 32 2.2.4 g++编译程序的方法 33 2.2.5 g++编译程序的选项 33 2.2.6 运行应用程序 38 2.2.7 帮助文档的使用 38 2.3 CodeBlocks集成开发工具介绍 38 2.3.1 创建工程 39 2.3.2 创建文件 39 2.3.3 项目属性设置 39 2.3.4 编译及运行 40 2.4 绘图函数库的使用 41 本章小结 41 第3章 基本数据类型 42 3.1 基本程序组成结构 42 3.1.1 一个基本的C++程序 42 3.1.2 基本输入输出 43 3.2 字符集和关键字 47 3.3 C++的数据类型概述 49 3.4 基本数据类型 51 3.4.1 整型数据 51 3.4.2 浮点型数据 52 3.4.3 字符型数据 53 3.4.4 bool类型 56 3.4.5 void类型 58 3.4.6 常量与变量 58 3.5 类型转换 61 3.5.1 隐式类型转换 62 3.5.2 强制类型转换 64 本章小结 64 第4章 运算符与表达式 66 4.1 概述 66 4.2 运算符和表达式 66 4.2.1 运算符和表达式的种类 66 4.2.2 左值和右值 67 4.3 算术运算符和算术表达式 68 4.4 自增和自减运算符 69 4.5 赋值运算符和赋值表达式 71 4.5.1 赋值运算符与赋值运算 71 4.5.2 复合赋值运算符 72 4.5.3 赋值表达式 72 4.6 关系运算符和关系表达式 73 4.7 逻辑运算符和逻辑表达式 75 4.7.1 逻辑运算符 75 4.7.2 逻辑表达式 76 4.8 sizeof运算符 76 4.9 条件运算符和条件表达式 77 4.10 逗号运算符和逗号表达式 78 4.11 优先性和结合性 79 本章小结 80 习题 80 第5章 程序的结构 81 5.1 顺序结构 81 5.2 分支结构程序设计 82 5.2.1 if…else…结构 82 5.2.2 switch语句 86 5.2.3 goto语句 89 5.3 循环结构程序设计 90 5.3.1 for语句 90 5.3.2 while语句 94 5.3.3 do-while语句 96 5.3.4 循环的嵌套 97 5.4 break、continue语句 98 5.4.1 break语句 98 5.4.2 continue语句 100 本章小结 101 习题 101 第6章 宏和编译预处理 102 6.1 宏定义 103 6.2 头文件包含 108 6.3 条件编译 110 6.4 其他预处理指令 115 本章小结 119 习题 119 第7章 数组 120 7.1 为何需要数组 120 7.2 声明数组 121 7.3 访问数组元素 122 7.4 数组的初始化 124 7.5 数组应用举例 125 7.5.1 选择排序 125 7.5.2 冒泡排序 127 7.5.3 更多排序算法 129 7.6 字符串与字符数组 131 7.7 数组作为函数参数 133 7.8 二维数组 134 7.8.1 二维数组的定义 134 7.8.2 二维数组中元素的引用 135 7.8.3 二维数组的初始化 135 7.8.4 二维数组程序举例 136 7.9 多维数组 138 7.9.1 多维数组的定义 139 7.9.2 多维数组的引用 139 本章小结 141 习题 141 第8章 函数与程序结构 142 8.1 函数的概念 142 8.2 函数定义 143 8.3 函数声明 145 8.4 函数调用 147 8.5 变量的作用域类型 149 8.5.1 局部变量 149 8.5.2 全局变量 151 8.6 变量的存储类型 152 8.6.1 动态存储变量 152 8.6.2 静态存储变量 153 8.7 函数返回值 153 8.8 默认函数参数 155 8.9 内联函数 158 8.10 函数重载 160 8.11 作用域 163 8.11.1 局部作用域 163 8.11.2 函数作用域 164 8.11.3 函数原型作用域 165 8.12 可见性与生命期 165 8.12.1 可见性 165 8.12.2 生命期 167 8.12.3 补充说明 168 8.13 综合应用举例 168 8.14 递归函数 170 8.14.1 递归函数举例 170 8.14.2 递归调用过程分析 171 8.14.3 递归程序设计方法 172 8.15 程序文件结构 174 8.15.1 头文件 174 8.15.2 文件作用域 176 8.15.3 多文件结构 176 8.15.4 外部存储类型 177 本章小结 179 习题 179 第9章 指针和引用 180 9.1 指针的概念 180 9.2 指针声明和赋值 182 9.3 通过指针访问数据 185 9.4 指针运算 187 9.5 动态内存分配 190 9.5.1 malloc()和free()函数 191 9.5.2 new和delete运算符 193 9.5.3 指针与数组 194 9.6 动态内存分配的应用 198 9.6.1 应用举例1 198 9.6.2 应用举例2 199 9.7 const指针 204 9.8 指针作为函数参数 208 9.9 指针函数 213 9.10 函数指针 215 9.11 指针数组 219 9.12 指向指针的指针 223 9.13 常见的内存错误及其对策 226 9.14 引用的定义 227 9.15 使用引用访问数据 232 9.16 引用与指针对比 235 9.17 引用做函数的参数 236 9.18 应用举例3 239 9.19 返回引用 240 9.20 函数调用作为左值 244 9.21 const限定的引用 246 9.22 返回堆中变量的引用 248 本章小结 250 习题 250 第10章 结构、联合、枚举 252 10.1 自定义数据类型概述 252 10.2 结构的定义 253 10.3 结构初始化 255 10.4 访问结构成员 257 10.5 结构与数组 258 10.6 结构与指针 264 10.7 结构与引用 266 10.8 在函数中使用结构 267 10.9 结构的复杂形式 273 10.10 链表 275 10.11 联合 279 10.12 枚举 285 本章小结 294 习题 294 第11章 类与对象 296 11.1 抽象概述 296 11.2 类的概念 297 11.3 类的定义 298 11.3.1 类与结构 298 11.3.2 类的声明 299 11.3.3 类成员的访问控制 300 11.3.4 数据成员 303 11.3.5 成员函数 304 11.3.6 重载成员函数 306 11.3.7 类定义的注意事项 307 11.3.8 类声明和类定义 308 11.4 对象 309 11.4.1 类与对象的区别和联系 309 11.4.2 对象的声明 309 11.4.3 访问数据成员 310 11.4.4 调用成员函数 310 11.5 综合应用 313 11.6 构造函数 314 11.6.1 为何需要构造函数 314 11.6.2 构造函数的定义 316 11.6.3 带参数构造函数 317 11.6.4 默认构造函数 318 11.6.5 重载构造函数 319 11.7 类对象成员的初始化 320 11.8 析构函数 323 11.8.1 为何需要析构函数 323 11.8.2 析构函数的定义 324 11.8.3 何时需要使用析构函数 325 11.9 堆栈和内存分配 325 11.9.1 内存管理概述 325 11.9.2 变量与对象的空间分配时机与初始化327 11.9.3 为什么使用new/delete操作符 328 11.10 拷贝构造函数 329 11.10.1 程序出错的原因分析 329 11.10.2 拷贝构造函数 332 11.10.3 默认拷贝构造函数 334 11.10.4 浅拷贝与深拷贝 334 11.11 临时对象和无名对象 337 11.11.1 临时对象 337 11.11.2 无名对象 338 11.12 const成员 339 本章小结 340 习题 341 第12章 静态成员与友元 342 12.1 静态成员 342 12.1.1 为何需要静态成员 342 12.1.2 静态成员变量 343 12.1.3 静态成员函数 345 12.2 友元 346 12.2.1 为何需要友元 346 12.2.2 友元函数 347 12.2.3 友元类 348 第13章 继承与多态 351 13.1 继承与派生的概念 352 13.2 继承的实现方式 354 13.3 继承类的构造与析构 355 13.3.1 继承类的构造 355 13.3.2 构造函数的参数传递 357 13.4 基类访问控制 360 13.5 多态与虚函数 362 13.5.1 为什么使用虚函数 363 13.5.2 虚函数 364 13.5.3 重载、隐藏与覆盖 365 13.5.4 虚函数的限制 368 13.6 多继承 370 13.6.1 多继承的实现 371 13.6.2 多继承的二义性 371 13.6.3 多继承的构造顺序 373 13.7 虚基类 374 13.7.1 虚基类的定义 375 13.7.2 虚基类的构造函数和初始化376 本章小结 376 习题 377 第14章 运算符重载 378 14.1 为何要重载运算符 378 14.2 运算符重载的实现 379 14.2.1 成员函数运算符重载 380 14.2.2 友元函数运算符重载 382 14.3 单目运算符和双目运算符 383 14.4 引用返回和值返回 386 14.5 常见的运算符重载 391 14.5.1 赋值与比较运算符 391 14.5.2 递增与递减运算符 392 14.5.3 数组存取标识符 393 本章小结 395 习题 395 第15章 模板 396 15.1 为何需要模板 396 15.2 函数模板 397 15.2.1 函数模板的概念 397 15.2.2 函数模板的定义 398 15.2.3 函数模板的实例化 399 15.2.4 重载模板函数 399 15.3 类模板 401 15.3.1 类模板的定义 401 15.3.2 使用类模板 403 15.4 综合应用 404 本章小结 406 第16章 标准模板库 407 16.1 标准模板库的基本组成 407 16.2 标准命名空间 408 16.3 容器 409 16.3.1 顺序容器 409 16.3.2 关系式容器 411 16.4 迭代器 413 16.5 算法 415 本章小结 418 第17章 I/O流 419 17.1 流的概念 419 17.2 I/O标准流类 421 17.2.1 标准流的设备名 421 17.2.2 原理 421 17.3 输入输出的格式控制 423 17.3.1 用ios类的成员函数进行格式控制 423 17.3.2 使用格式控制符进行格式控制 427 17.4 输入输出运算符的重载 429 17.4.1 重载输出运算符 429 17.4.2 重载输入运算符 430 17.5 文件流 431 17.5.1 打开文件 432 17.5.2 关闭文件 434 17.5.3 写入文件 435 17.5.4 读取文件 435 17.5.5 常用操作和状态检测 436 17.5.6 读写随机文件 438 17.5.7 二进制文件的处理 440 本章小结 442 习题 442 第18章 异常处理 443 18.1 传统的错误处理方式 443 18.2 异常处理的思想 445 18.3 异常处理的实现方式 447 18.4 构造和析构中的异常抛出 448 18.5 异常规格说明 449 18.6 标准异常 451 本章小结 452 附录A 程序的写作风格 453 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。