《C++及Windows可视化程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘振安编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302067864
  • 页数:425 页
图书介绍:本书主要介绍C++程序设计思想和Windows可视化程序设计。

第1章 程序设计基础 1

1.1 面向过程的程序设计方法 1

1.1.1 自然语言与计算机语言之间的鸿沟 1

1.1.2 面向过程与结构化程序设计 3

1.2 面向对象的程序设计方法 5

1.3 可视化程序设计 8

1.4 面向对象语言的发展 9

1.5 C++的面向过程和面向对象程序设计 10

1.6.1 对象 11

1.6 C++面向对象程序设计特点 11

1.6.2 抽象和类 12

1.6.3 封装 13

1.6.4 继承 14

1.6.5 多态性 14

1.7 数据对象和数据类型的属性 14

1.7.1 数据对象、变量和常量 14

1.7.2 数据类型规范的基本组件 16

1.7.3 基本数据类型的实现 16

1.8.1 初识C++的函数和对象 17

1.8 C++的基本数据类型和表达式 17

1.8.2 标识符 20

1.8.3 变量对象 21

1.8.4 基本数据类型 22

1.8.5 变量对象的存储类型 23

1.8.6 常量对象 27

1.8.7 匈牙利命名法 29

1.8.8 运算表达式 30

1.8.9 赋值运算符与赋值表达式 31

1.9 面向对象的标记图 33

1.8.10 逗号运算符与逗号表达式 33

1.9.1 类和对象的UML标记图 34

1.9.2 表示对象的结构与连接 34

1.9.3 使用实例 36

1.9.4 对象、类和消息 37

1.10 使用类和对象实例 38

1.10.1 进一步使用C++的对象 38

1.10.2 char和 string对象 40

1.10.3 使用对象小结 42

1.11 程序的编辑、编译和运行的基本概念 43

1.12 本书的结构 44

实验1 如何编辑、编译、调试和运行一个实际程序 45

习题1 46

第2章 结构化编程基础 48

2.1 典型C++程序结构 48

2.1.1 函数和函数原型 49

2.1.2 const修饰符和预处理程序 50

2.1.3 程序注释 52

2.1.4 程序语句 52

2.1.7 数据的简单输入输出格式 54

2.1.5 大小写字母的使用 54

2.1.6 程序的书写格式 54

2.2 关系运算与逻辑运算 58

2.3 结构化程序设计概述 60

2.4 控制选择结构 61

2.4.1 用if语句实现选择结构设计 61

2.4.2 用switch语句实现选择结构设计 64

2.5 循环控制结构设计 65

2.5.1 while语句 65

2.5.2 do~while语句 67

2.5.3 for语句 68

2.5.4 break语句、countinue语句及goto语句 69

2.5.5 控制语句的嵌套 71

实验2 通过调试改正程序中的错误 72

实验2.1查错实验 72

实验2.2编程调试实验 72

习题2 73

3.1 指针 75

3.1.1 构造指针类型 75

第3章 构造类型初探 75

3.1.2 指针类型及指针运算 77

3.1.3 对指针使用const限定符 79

3.1.4 进一步讨论指针 81

3.2 引用 83

3.3 数组 85

3.3.1 一维数组 85

3.3.2 数组与指针的关系 88

3.3.3 多维数组 90

3.3.4 字符串数组 91

3.3.5 指针数组 92

3.3.6 命令行参数 93

3.4 向量容器 93

3.4.1 定义向量列表 94

3.4.2 向量最基本的操作方法 95

3.5 类型定义关键字typedef 98

3.6 枚举 98

3.7 结构 99

3.7.1 结构定义及其对象的初始化 99

3.7.2 结构数组 101

3.7.3 结构指针 102

3.7.4动态分配内存 103

3.8联合 103

实验3 综合实验 105

习题3 105

第4章 函数 108

4.1 函数基础知识 108

4.1.1 函数基本要素 108

4.1.2 函数调用形式 110

4.2.1 传值和传地址 112

4.1.3 递归调用 112

4.2 函数参数的传递方式 112

4.2.2 传引用方式 114

4.2.3 默认参数 114

4.2.4 正确选择函数原型及传递参数 115

4.3 深入讨论函数返回值 119

4.3.1 返回引用的函数 119

4.3.2 返回指针的函数 120

4.3.4 函数返回值作为参数 121

4.3.3 返回对象的函数 121

4.4 函数指针 122

4.4.1 通过函数指针完成对函数的调用 122

4.4.2 通过函数指针对象将函数作为参数传给其他函数 124

4.5 内联函数 126

4.6 函数重载 127

4.7 函数模板 129

4.8 解题算法知识 130

4.8.1 计算机解题 130

4.8.2 算法知识简介 134

实验4.1 编辑多文件程序实验 136

实验4 编辑多文件程序及使用函数和函数指针实验 136

实验4.2使用函数指针实验 137

习题4 137

第5章 对象和类 140

5.1 类及其实例化 140

5.1.1 定义类 140

5.1.2 使用类的对象 143

5.1.3 数据封装 146

5.1.4 成员函数重载及默认参数 147

5.1.5 this指针 148

5.1.6 一个类的对象作为另一个类的成员 149

5.2 类和对象的性质 150

5.2.1 类对象的性质 150

5.2.2 类的性质 151

5.3 结构和联合 153

5.4 构造函数 154

5.4.1 定义构造函数 154

5.4.2 构造函数和运算符new 156

5.4.3 默认构造函数和默认参数 157

5.4.4 复制构造函数 158

5.5 析构函数 159

5.5.1 定义析构函数 159

5.5.2 析构函数和运算符delete 160

5.5.3 默认析构函数 160

5.6 综合例题 161

5.7 重载对象的赋值运算符 163

5.8 对象成员的初始化 166

5.9 类模板与标准模板库 168

5.9.1 类模板 168

5.9.2 标准模板库STL 170

5.10 面向对象编程的文件规范 173

5.10.1 编译指令 173

5.10.2 编写类的头文件 175

实验5 使用类模板 176

习题5 177

第6章 继承和派生类 179

6.1 继承和派生的基本概念 179

6.2 单一继承 181

6.2.1 单一继承的一般形式 181

6.2.2 派生类的构造函数和析构函数 181

6.2.3 类的保护成员 183

6.2.4 访问权限和赋值兼容规则 184

6.3继承类模板 189

6.4 多重继承 193

6.5 继承的构造函数与析构函数调用顺序 194

6.6 二义性及其支配规则 198

6.6.1 二义性和作用域分辨符 198

6.6.2 二义性及名字支配规则 200

6.7 虚基类 200

习题6 202

实验6 公有派生的赋值兼容性规则 202

第7章 多态性和虚函数 204

7.1 多态性 204

7.1.1 静态联编中的赋值兼容性及名字支配规律 204

7.1.2 动态联编的多态性 206

7.2 虚函数 208

7.2.1 虚函数的定义 208

7.2.2 虚函数实现多态性的条件 208

7.2.3 进一步探讨虚函数与实函数的区别 210

7.2.4 构造函数和析构函数调用虚函数 213

7.2.5 纯虚函数与抽象类 215

7.3 多重继承与虚函数 217

实验7 探讨影响虚函数表长度的因素 218

习题7 219

第8章 类的成员和对象 221

8.1 静态成员 221

8.2 友元函数 224

8.3 const对象和volatile对象 228

8.4 转换函数 232

8.5 指向类成员的指针 233

8.6 数组和类 237

实验8 使用类成员函数的指针 238

习题8 239

第9章 运算符重载及流类库 240

9.1 运算符重载 240

9.1.1 运算符重载的实质 240

9.1.2 类运算符和友元运算符的异同 241

9.1.3 ++和--运算符的重载 243

9.2.1 流类库的基本类等级 245

9.2 流类库 245

9.2.2 运算符“《”和“》”的重载 246

9.2.3 格式控制 248

9.3 文件操作 250

9.3.1 文件操作方式 250

9.3.2 常用输出文件流成员函数 251

9.3.3 二进制输出文件 254

9.3.4 常用输入流及其成员函数 254

9.3.5 文件读写综合实例 257

实验9综合实验 260

习题9 261

第10章 面向对象课程设计 262

10.1 面向对象系统分析基础知识 262

10.1.1 面向对象的主要原则 262

10.1.2 OOA模型 266

10.1.3 发现对象并建立对象层 266

10.1.4 定义数据成员 268

10.1.5 定义成员函数 270

10.1.6 如何发现基类和派生类结构 270

10.2 接口继承与实现继承 272

10.3 类的成员 279

10.4 命名空间 279

10.5 异常处理 281

10.5.1 引入异常处理 281

10.5.2 异常处理思想 283

10.5.3 异常处理的实现 284

10.5.4 异常处理中的构造与析构 287

10.6 虚基类和多继承实例 288

10.7.1 简单的链表实例 292

10.7 链表 292

10.7.2 改进封装性的实例 294

实验10 改进链表实验 296

习题10 296

第11章Windows程序基本风格 298

11.1 一个简单的Windows程序 298

11.1.1 手工编制一个简单的Windows程序 298

11.1.2 Windows的程序结构 302

11.1.3 WinMain函数 304

11.1.4 WndProc函数 309

11.1.5 Windows程序编程特点分析 311

11.2.1 使用APPWizard生成程序框架 312

11.2 使用向导编程 312

11.2.2 Windows程序的组成 315

11.2.3 使用资源程序的组织原理图 316

11.2.4 添加自己的代码 317

11.3使用消息映射表 319

11.3.1 为消息处理建立映射表 319

11.3.2 为命令消息建立映射表 320

实验11 熟悉Windows编程 325

习题11 326

12.1 一个使用全局对象的程序 327

第12章 使用MFC类库编程 327

1 2.2 使用MFC编制Win32 Application程序 328

12.2.1 Hello MFC 329

12.2.2 简单分析 330

1 2.3 模拟文档/视结构的MFC程序 335

1 2.3.1 程序清单 336

12.3.2 多文件中的消息映射 340

12.3.3 资源文件 342

12.3.4 单文档模板 344

12.3.5 动态创建 345

12.4 MFC类库与编程向导AppWizard 346

12.4.1 自动生成文档/视结构实例 346

12.4.2 MFC和Application Framework 348

12.4.3 MFC概貌 349

12.4.4 向导提供的程序风格 356

12.5 基于对话框风格的设计实例 357

12.5.1 界面设计 357

12.5.2 设置成员变量 358

12.5.3 增加消息处理函数 359

实验12将两个字符串拼接后输出的实验 360

习题12 361

第13章 MFC文档/视结构 362

1 3.1 MFC单文档应用程序结构 362

13.2 文档对象 364

13.3 视的对象 366

13.4 文档和视的联系 369

13.4.1 逻辑关系 370

13.4.2 调用关系 370

13.4.3 配合实例 370

13.5 框架窗口 371

13.6 文档模板 373

13.7 分析单文档应用程序 376

13.7.1 应用程序类CTestApp 376

13.7.2 文档类CTestDoc 378

13.7.3 视类CTestView 378

13.7.4 框架窗口类CMainFrame 378

13.7.5 对话框类CAboutDlg 379

13.7.6 工具栏和状态栏 380

13.7.7 标准菜单 381

13.8 创建单文档应用程序实例 382

13.9 多文档应用程序简介 386

13.9.1 MDI的三位一体创建流程 386

13.9.2 MDI的菜单 387

13.9.3 创建MDI应用程序 389

13.10 消息处理映射规则 389

13.11 各对象之间关系综述 390

1 3.12 本章小结 391

实验13 输出三角形3条边长并显示其图形的实验 392

习题13 392

14.1 简单的数值输出和画图实例 393

第14章可视化设计实例 393

14.2 使用计算数据画直方图实例 394

14.3 可滚动的多文档实例 397

14.3.1 设计思想 397

14.3.2 设计实现 399

14.4 不同类型文档的实例 406

14.4.1 增加新的文档模板 407

14.4.2 设计文本文档的菜单 409

14.4.3 编程实现其他函数 410

14.4.4 编译运行程序 411

习题14 413

14.5 综合自选实验 413

附录A按字母表顺序排序的C和C++保留字 414

附录B C语言关键字 415

附录C C和C++语言过程设计算法描述方法 416

附录D C语言的printf格式输出函数 418

附录E C语言的scanf格式输入函数 420

附录F 以CObject为直接基类的派生类图 422

附录G CCmdTarget类的派生类图 423

参考文献 424