《面向对象程序设计 Visual C++ 6.0与基于ACIS的几何造型》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘弘,刘希玉主编
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2005
  • ISBN:7563510796
  • 页数:445 页
图书介绍:本书是面向对象程序设计的基础及提高教程。书中首先全面介绍了面向对象的相关概念和C++程序设计的相关知识,包括类、对象、继承、重载、多态、虚函数以及流等;然后介绍了Visual C++集成开发环境、MFC及应用程序框架以及MFC程序设计的方法和思路,包括对话框、资源的创建和使用、简单的图形和文本输出、Windows标准控件等内容,还介绍了有关数据库编程以及3D建模引擎ACIS的内容。 本书把C++的概念与Visual C++可视化设计结合起来,使学生更加容易接受。为使读者学习本书时掌握重点,各章节均配备大量的练习和编程习题。本书是作者总结多年教学实践和科研开发经验写成的,用简单的例子和简练的叙述讲解C++编程,注重理论和实践的结合,使读者在掌握基本理论的同时,提高实际动手能力,适合学习面向对象程序设计的高等院校学生使用,也适用于自学Visual C++的学生和工作人员。

第1章 概论 1

内容提要 1

1.1 面向对象程序设计基本概念 1

1.1.1 面向对象程序设计的起源及有关概念 1

1.1.2 C++语言概述 4

1.2 C++的词法及词法规则 7

1.2.1 C++的字符集 7

1.2.2 单词及词法规则 7

1.3 C++程序结构的组成 9

1.3.1 一个C++的示范程序 9

1.3.2 C++程序的组成部分 9

1.4 C++程序的书写格式 11

1.5 Visual C++ 6.0集成开发环境 12

1.5.1 Visual C++ 6.0的菜单栏 12

1.5.2 Visual C++ 6.0的工具栏 14

1.5.3 联机帮助 14

1.5.4 应用程序框架 14

1.5.5 编辑C++源程序 17

1.5.6 链接和运行源程序 18

作业题 19

第2章 数据类型和表达式 22

内容提要 22

2.1 基本数据类型 22

2.2.1 文字常量 23

2.2 常量和变量 23

2.2.2 变量 25

2.3 数组类型 27

2.3.1 数组的声明 27

2.3.2 利用下标访问数组元素 28

2.3.3 数组的初始化 29

2.3.4 结构数组 29

2.3.5 多维数组 30

2.3.6 字符型数组 33

2.4 枚举类型 34

2.5 运算符 35

2.5.1 算术运算符 35

2.5.2 逻辑运算符和关系运算符 37

2.5.3 赋值运算符 38

2.5.4 位算符 38

2.5.5 其他运算符 39

2.5.6 优先级和结合性 40

2.6 表达式 41

2.6.1 赋值表达式 41

2.6.2 逗号表达式 42

2.6.3 算术表达式 42

2.6.4 关系表达式 42

2.6.5 逻辑表达式 43

作业题 44

2.7 类型定义 44

内容提要 47

3.1 指针 47

3.1.1 指针的定义和赋值 47

第3章 指针和引用 47

3.1.2 指针变量的运算 50

3.1.3 指针的应用及注意的问题 52

3.2 引用 55

3.3 指针与引用的区别 57

3.4 指向数组的指针 58

3.4.1 多维数组地址的表示方法 59

3.4.2 多维数组的指针变量 60

3.5.1 结构类型定义和结构变量说明 64

3.5 结构 64

3.5.2 结构变量的赋值 66

3.5.3 结构变量的初始化 66

3.5.4 结构数组 67

3.5.5 结构指针变量 69

3.5.6 结构指针变量作函数参数 71

3.5.7 动态存储分配 72

3.5.8 链表的概念 73

3.5.9 联合 81

作业题 81

4.1.1 宏定义 87

4.1 预处理功能 87

第4章 条件、循环和编译预处理 87

内容提要 87

4.1.2 文件包含 92

4.1.3 条件编译 93

4.2 条件语句 95

4.2.1 if语句的使用格式 95

4.2.2 布尔变量与零值比较 96

4.2.3 整型变量与零值比较 96

4.2.4 浮点变量与零值比较 97

4.2.5 指针变量与零值比较 97

4.2.6 对if语句的补充说明 97

4.3 选择语句 98

4.4 循环语句 100

4.4.1 for语句的定义格式及说明 100

4.4.2 while语句和do-while语句 103

4.4.3 循环语句的嵌套 106

4.4.4 循环语句的效率 106

4.4.4 for语句的循环控制变量 107

4.5 break语句和continue语句 107

4.6 转向语句 108

作业题 109

5.1.1 函数的定义及说明 116

5.1 函数的定义和分类 116

第5章 函数 116

内容提要 116

5.1.2 函数的分类 118

5.2 函数的调用 120

5.3 函数的参数和函数的值 121

5.3.1 函数的参数 121

5.3.2 函数的值 122

5.3.3 数组名作为函数参数 124

5.4 内联函数 127

5.4.1 内联函数的定义方法 128

5.5.1 参数类型上不同的重载函数 129

5.5 函数的重载 129

5.4.2 使用内联函数应注意的事项 129

5.5.2 参数个数不同的重载函数 130

5.6 函数的嵌套调用和递归调用 131

5.6.1 函数的嵌套调用 131

5.6.2 函数的递归调用 132

5.7 作用域 135

5.7.1 局部变量 135

5.7.2 全局变量 136

5.7.3 自动存储类型 139

5.7.4 外部变量类型 141

5.7.5 静态存储类型 141

5.7.6 寄存器存储类型 143

5.7.7 动态分配的对象 144

5.7.8 名字空间定义 149

作业题 154

第6章 类和对象 160

内容提要 160

6.1 类的定义 160

6.1.1 类的定义格式 160

6.1.2 类定义说明 162

6.2 对象的定义 164

6.2.1 对象成员的表示方法 164

6.2.2 类对象定义的说明 166

6.3 对象的初始化 168

6.3.1 类的初始化 168

6.3.2 类的构造函数 169

6.3.3 类的析构函数 172

6.4 成员函数的特性 174

6.5 静态成员 174

6.5.1 静态数据成员 174

6.5.2 静态成员函数 177

6.6 友元 179

6.6.1 问题的提出 179

6.6.2 什么是友元 179

6.7 类的作用域 182

6.8 局部类和嵌套类 183

6.8.1 局部类 183

6.8.2 嵌套类 183

6.9 对象的生存期 184

6.10 对象指针和对象引用 185

6.10.2 对象指针和对象引用作函数的参数 186

6.10.3 this指针 188

6.11 对象和数组 189

6.11.1 对象数组 189

6.11.2 指向数组的指针和指针数组 189

6.11.3 带参数的main()参数 191

6.12 常类型 192

6.12.1 一般常量和对象常量 192

6.12.2 常指针和常引用 192

6.12.3 常成员函数 194

6.12.4 常数据成员 194

6.13 子对象和堆对象 195

6.13.1 子对象 195

6.13.2 堆对象 197

6.14 类型转换 200

6.14.1 类型的自动隐式转换 200

6.14.2 转换函数 201

6.14.3 应用举例——链表 202

作业题 204

第7章 继承和派生 218

内容提要 218

7.1 继承 218

7.2 基类和派生类 219

7.2.1 派生类的定义格式 220

7.2.2 派生类的3种继承方式 220

7.2.3 基类与派生类的关系 222

7.3 单继承 224

7.3.1 成员访问权限的控制 224

7.3.2 构造函数和析构函数 226

7.3.3 子类型化和类型适应 228

7.4 多继承 229

7.4.1 多继承的概念 229

7.4.2 多继承的构造函数 230

7.4.3 二义性问题 232

7.5 虚基类 234

7.5.1 虚基类的引入和说明 234

7.5.2 虚基类的构造函数 236

12.4.3 显示模态对话框类 236

7.6 组合 238

作业题 239

8.1.1 运算符重载的几个问题 248

8.1 运算符重载 248

内容提要 248

第8章 多态性与虚函数 248

8.1.2 运算符重载函数的两种形式 250

8.1.3 其他运算符的重载举例 253

8.2 静态联编与动态联编 256

8.3 虚函数 257

8.4 纯虚函数与抽象类 260

8.5 虚析构函数 262

作业题 263

第9章 字符串和文件IO 269

内容提要 269

9.1 字符串流 269

9.1.1 标准字符串的输出 270

9.1.2 标准字符串的输入 270

9.2.1 gets()函数和puts()函数 271

9.2 字符串处理函数 271

9.2.2 用cin读取字符串 272

9.2.3 strcat()函数 274

9.2.4 strcpy()函数 274

9.2.5 strlen()函数 274

9.3 流文件 274

9.3.1 设置流的格式化标志 275

9.3.2 格式输出函数 276

9.4 CString类操作及应用 277

9.3.3 操作子 277

作业题 278

第10章 MFC应用程序概述 282

内容提要 282

10.1 MFC 282

10.2 用MFC AppWizard建立应用程序 283

10.2.1 项目 283

10.2.2 建立程序框架 283

10.2.3 在窗口输出信息 289

10.3 程序分析 290

10.3.1 Visual C++程序的组成 290

10.3.3 生成的文件类型 291

10.3.2 应用程序对象分析 291

作业题 292

第11章 GUI设计及菜单 294

内容提要 294

11.1 标准菜单的使用 294

11.1.1 建立菜单资源 294

11.1.2 编辑菜单资源 297

11.2 弹出式子菜单 297

11.3 环境菜单 301

作业题 302

12.1.1 创建对话框模板 304

内容提要 304

第12章 创建和使用对话框 304

12.1 创建和设计对话框 304

12.1.2 添加和定位控件 308

12.1.3 选择多个控件 311

12.1.4 组织对话框控件 312

12.2 创建对话框类 314

12.2.1 添加新的对话框模板资源 314

12.2.2 用ClassWizard从Cdialog导出类 315

12.2.3 初始化新对话框类 316

12.3 使用控件按钮 316

12.3.1 使用Pushbutton按钮 316

12.3.2 使用单选按钮 320

12.3.3 使用复选框 322

12.4 显示模态对话框 323

12.4.1 对话框的MFC实现 324

12.4.2 创建对话框类 325

12.4.4 添加存放对话框数据的成员变量 326

12.5 使用对话框数据交换和数据确认函数 328

12.6 使用非模态对话框 328

12.6.1 打开和关闭非模态对话框 328

12.6.2 设置和获取非模态对话框的数据 329

作业题 330

13.1.1 建立图像、位图和图标 331

13.1 建立图像、位图和图标 331

第13章 应用程序的组成元素 331

内容提要 331

13.1.2 新建并编辑图标资源 332

13.1.3 添加新图标资源 333

13.1.4 添加位图资源 334

13.1.5 引入图像 335

13.2 在对话框中使用图形资源 336

13.2.1 设置图像控件的属性 336

13.2.2 在程序运行期间装载图形 336

作业题 339

14.1 设备环境 340

14.1.1 使用CDC类 340

第14章 简单的图形和文本输出 340

内容提要 340

14.1.2 使用客户设备环境 342

14.1.3 使用CPaintDC类绘图 343

14.2 使用画笔 346

14.2.1 创建画笔 346

14.2.2 把画笔选进设备环境 347

14.2.3 删除画笔 347

14.2.4 使用画笔绘制直线和其他图形 348

14.3.1 创建刷子 353

14.3 使用刷子 353

14.3.2 使用刷子绘制被填充的图形 356

14.4 使用字体 360

14.4.1 文本显示函数 360

14.4.2 创建各种各样的字体 364

作业题 366

第15章 Windows标准控件 368

内容提要 368

15.1 列表控件 368

15.1.1 添加组合框 368

15.1.2 添加树控件 369

15.1.3 添加列表框控件 370

15.1.4 添加列表控件 371

15.2 在列表控件中添加项目 372

15.2.1 给组合框添加项目 372

15.2.2 响应组合框的通知消息 374

15.2.3 给树控件添加项目 374

15.2.4 给列表框添加项目 376

15.2.5 响应列表框通知消息 376

15.2.6 给列表控件添加项目 377

15.3 进度条控件 379

15.3.1 为进度条控件映射变量 379

15.3.5 设置和使用步长 380

15.3.4 设置进度条控件的当前值 380

15.3.3 设计进度条控件的范围 380

15.3.2 操作并更新进度条控件 380

15.4 滚动条控件 381

15.4.1 在对话框中添加滚动条 381

15.4.2 为滚动框映射变量 382

15.4.3 初始化滚动条控件 382

15.4.4 处理滚动条通知消息 383

15.5 使用滑块控件 385

15.5.1 在对话框中添加滑块控件 385

15.5.2 给滑块控件映射变量 386

15.5.3 滑块控件的初始化 386

15.5.4 响应滑块控件的通知消息 386

作业题 387

第16章 Visual C++数据库编程 389

内容提要 389

16.1 Visual C++开发数据库的特点 389

16.1.1 Visual C++开发数据库的优势 389

16.2 MFC ODRC数据库访问技术 390

16.2.1 概述 390

16.2.2 使用MFC ODBC编程建立应用程序 390

16.3 使用DAO技术访问数据库 400

16.3.1 概述 400

16.3.2 使用DAO技术访问数据库 401

16.4.1 OLE DB技术 410

16.4 OLE DB和ADO技术概述 410

16.4.2 ADO 411

作业题 412

第17章 ACIS的简介与环境配置 413

内容提要 413

17.1 概述 413

17.1.1 什么是ACIS 413

17.1.2 SAT文件 414

17.1.3 应用程序与ACIS的接口 414

17.2 ACIS的概念 414

17.2.1 ACIS和C++ 414

17.2.3 属性和维度 415

17.2.2 实体和模型对象 415

17.3 ACIS的环境配置 416

17.3.1 Scheme环境及其运行 416

17.3.2 用Windows控制台环境编译ACIS程序 416

17.3.3 用ACIS AppWizard生成ACIS应用程序框架 418

作业题 420

第18章 ACIS的实例代码 421

内容提要 421

18.1 用Scheme语言生成ACIS程序 421

18.1.1 Scheme语言基础语法 421

18.1.2 Scheme语言简单操作 423

18.1.3 Scheme语言总结 424

18.2.1 ACIS C++程序基本结构 425

18.2 用Windows控制台环境编译ACIS程序 425

18.2.2 模型文件的读写 427

18.2.3 ACIS C++程序小结 428

18.3 用ACIS AppWizard生成应用程序框架 429

18.3.1 用ACIS AppWizard生成第一个可视化几何造型 429

18.3.2 对可视化几何造型进行简单操作 432

18.3.3 对可视化几何造型进行布尔运算操作 433

作业题 433

第19章 程序调试 434

内容提要 434

19.1 调试环境的建立 434

19.2.1 与位置有关的断点 435

19.2 调试的一般过程 435

19.2.2 与逻辑有关的断点 436

19.3 控制程序的运行 437

19.4 查看工具的使用 438

19.4.1 弹出式调试信息泡泡(Data Tips Pop-Up Information) 438

19.4.2 变量窗口(Varliable Window) 438

19.4.3 观察窗口(Watch Window) 439

19.4.4 快速查看变量对话框(Quick Watch) 439

附录一 441

附录二 443

参考文献 444