《C++游戏编程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:邹吉滔,姚雷,易巧玲编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302245919
  • 页数:472 页
图书介绍:本书介绍如何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 1/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