《C++语言与应用基础》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:成岩等编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2002
  • ISBN:7030106342
  • 页数:362 页
图书介绍:计算机应用技术教材:本书分两部分,C++语言部分重点介绍C++语言的语法和面向对象语言的封装性、继承性等内容;编程应用部分以VC为开发工具,主要介绍如何应用C++语言实现Windows应用程序及其常见用户界面设计的核心问题。

1.1 程序设计语言的发展 1

1.1.1 编程语言的发展 1

第1章 面向对象程序设计概述 1

1.1.2 C++语言的起源与特点 2

1.1.3 C++源程序的构成 3

1.2 面向对象的方法 4

1.2.1 面向对象方法的由来 4

1.2.2 面向对象的基本概念 5

1.3.1 面向对象的分析 6

1.3 面向对象的软件开发 6

1.3.2 面向对象的设计 7

1.3.3 面向对象的编程 7

1.3.4 面向对象程序的调试 7

1.3.5 面向对象的维护 7

1.4 C++语言的词法和词法规则 8

1.4.1 C++语言的字符集 8

1.4.2 单词及词法规则 8

1.5 C++程序在Visual C++.NET中的编译运行 10

1.6 小结 12

习题一 12

第2章 数据类型、运算符和控制结构 14

2.1 基本数据类型 14

2.1.1 基本数据类型 14

2.1.2 常量和符号常量 15

2.1.3 变量 16

2.2.2 运算符与表达式 18

2.2.1 运算符简介 18

2.2 运算符与表达式 18

2.3 C++的输入输出 24

2.3.1 用cout进行输出 25

2.3.2 用cin进行输入 26

2.4 选择语句 27

2.4.1 if语句 27

2.4.2 switch语句 30

2.5 循环语句 32

2.5.1 while循环语句 32

2.5.2 do-while循环语句 33

2.5.3 for循环语句 34

2.5.4 循环的嵌套 36

2.5.5 其他控制语句 37

2.6 自定义数据类型 38

2.6.1 类型定义 38

2.6.2 枚举类型 39

2.6.3 结构体类型 41

2.7 小结 44

习题二 45

第3章 数组、函数与指针 47

3.1 数组 47

3.1.1 数组的定义 47

3.1.2 数组元素的表示 48

3.1.3 数组的赋值 48

3.2 函数 51

3.2.1 函数的定义和说明 51

3.2.2 函数的调用 52

3.2.3 函数的参数 55

3.2.4 内联函数 57

3.2.5 函数重载 58

3.2.6 函数模板 60

3.3 指针 62

3.3.1 指针的定义 62

3.3.2 指针的赋值 63

3.3.3 指针的运算 63

3.4 指针与数组 64

3.4.1 指向数组的指针 64

3.5.1 指针作为函数参数 66

3.4.2 指针数组 66

3.5 指针与函数 66

3.5.2 指针型函数 69

3.5.3 函数指针 69

3.6 动态内存分配 71

3.7 小结 72

习题三 72

4.1.2 类的定义格式 75

4.1.1 类的概念 75

4.1 类的定义 75

第4章 类与封装性 75

4.2 对象的定义 78

4.2.1 对象的定义 78

4.2.2 对象的引用 78

4.3 构造函数与析构函数 81

4.3.1 构造函数的定义 81

4.3.2 缺省参数的构造函数 85

4.3.3 析构函数 87

4.3.4 重载构造函数 89

4.3.5 拷贝构造函数 91

4.4 静态成员 93

4.4.1 静态数据成员 93

4.4.2 静态成员函数 95

4.5 友元 97

4.5.1 友元函数 97

4.5.2 友元类 98

4.6.1 对象数组 100

4.6 对象数组与对象指针 100

4.6.2 对象的指针 101

4.6.3 this指针 103

4.7 常类型 105

4.7.1 常对象 105

4.7.2 常指针 105

4.7.3 常引用 106

4.7.4 常数据成员 106

4.7.5 常成员函数 107

4.8.1 类模板的定义 109

4.8 类模板 109

4.8.2 生成对象 110

4.8.3 类模板的构造函数 111

4.9 应用实例 111

4.10 小结 121

习题四 121

第5章 派生类与继承性 123

5.1 派生类的概念和定义 123

5.1.1 派生类的概念 123

5.1.2 派生类的定义 124

5.1.3 派生类新定义的成员与继承来的成员的关系 126

5.1.4 派生类中的静态成员 127

5.2 访问控制 127

5.2.1 公有继承 128

5.2.2 私有继承 132

5.2.3 保护继承 134

5.3 派生类的构造函数和析构函数 135

5.3.1 派生类构造函数和析构函数的执行顺序 135

5.3.2 派生类构造函数和析构函数的构造规则 137

5.4 多重继承与虚基类 142

5.4.1 多重继承的概念 142

5.4.2 多重继承派生的构造函数 142

5.4.3 多重继承中的二义性问题 143

5.4.4 虚基类 145

5.5 类类型转换 145

5.5.1 通过单一参数的构造函数将一般类型转换为类类型 146

5.5.2 通过类型转换函数将类类型转换为一般类型 147

5.6 应用举例 149

5.7 小结 151

习题五 152

第6章 运算符重载、虚函数与多态性 154

6.1 多态性概述 154

6.2 运算符重载 155

6.2.1 运算符重载的规则 155

6.2.2 运算符重载为成员函数 156

6.2.3 运算符重载为友元函数 158

6.2.5 “++”和“--”运算符的重载 161

6.2.4 成员运算符函数与友元运算符函数的比较 161

6.2.6 下标运算符“[]”的重载 164

6.2.7 函数调用运算符“()”的重载 165

6.2.8 应用实例 166

6.3 虚函数 174

6.3.1 派生类与基类的转换 174

6.3.2 虚函数 176

6.4 纯虚函数和抽像类 181

6.4.1 纯虚函数 181

6.4.2 抽像类 182

6.5 程序应用实例 183

6.6 小结 194

习题六 195

第7章 应用程序设计基础 196

7.1 概述 196

7.1.1 用C++开发面向对象的Windows应用程序 196

7.1.2 Visual C++.NET集成开发环境和开发工具 196

7.1.3 VisualC++.NET操作界面 197

7.1.4 菜单栏 198

7.1.5 项目和解决方案 199

7.1.6 资源与资源编辑器 201

7.2 MFC类库简介 202

7.2.1 MFC C++类库简介 202

7.2.2 预定义宏、全局变量和全局函数 206

7.3 应用程序框架 207

7.3.1 应用程序基本结构 208

7.3.2 使用应用程序向导生成应用程序的框架 209

7.4.1 创建全局对象 214

7.4 HeIlo程序及其基本流程 214

7.4.2 程序入口点WinMain 215

7.4.3 应用程序的初始化 215

7.4.4 窗口的注册、产生和显示 216

7.4.5 消息循环 216

7.4.6 视图窗口的创建和绘制 217

7.4.7 应用程序的启动、运行和退出 217

7.5 消息和事件的映射与传递 218

7.5.1 消息和事件的概念 218

7.5.2 消息和事件的处理函数 219

7.5.3 消息和事件的映射 220

7.5.4 消息和事件的传递 221

习题七 222

第8章 窗口、菜单和绘图程序设计 223

8.1 边框窗口 223

8.1.1 边框窗口的创建与销毁 223

8.1.2 定制边框窗口 224

8.1.3 边框窗口类及成员函数 225

8.1.4 分隔窗口 226

8.2 视图 228

8.2.1 视图类 228

8.2.2 在视图中绘制图形 229

8.2.3 在视图中与用户交互 230

8.2.4 视图的滚动和缩放 230

8.3 菜单 231

8.3.1 菜单编辑器 231

8.3.2 菜单类 233

8.4 绘图 234

8.3.3 菜单界面更新 234

8.4.1 CDC类 235

8.4.2 绘图工具选择 235

8.4.3 坐标系统设置与转换 237

8.4.4 绘图模式与背景设置 239

8.4.5 图形绘制 240

8.4.6 区域填充 242

8.5 菜单和绘图实例 243

8.5.1 增加绘图菜单 243

8.5.3 编写菜单命令的消息处理函数代码 244

8.5.2 进行菜单命令的消息映射 244

8.5.4 运行并绘图 246

习题八 247

第9章 文档/视图结构程序设计 248

9.1 文档/视图结构 248

9.1.1 文档/视图结构的含义 248

9.1.2 建立文档/视图结构的画线程序框架 249

9.1.3 文档/视图结构的框架代码 249

9.2.1 文档类 251

9.2 文档 251

9.2.2 文档类的成员函数 252

9.2.3 与文件存储有关的档案类和文件类 253

9.3 文档模板 254

9.3.1 文档模板的功能 254

9.3.2 文档模板的创建 255

9.3.3 文档模板类及成员函数 255

9.4 文档/视图结构的画线程序实现 256

9.4.1 在屏幕上画线 256

9.4.2 定义直线类并在文档类中保存直线 259

9.4.3 实现“撤消”功能 262

9.4.4 实现文件保存和打开 263

9.4.5 滚动处理 265

9.4.6 窗口分割 267

习题九 268

第10章 对话框与控件程序设计 270

10.1 自定义对话框 270

10.1.1 对话编辑器 270

10.1.3 对话框类的成员函数 272

10.1.2 对话框类 272

10.1.4 与对话框类有关的CDataExchange类 273

10.2 公用对话框 274

10.2.1 文件对话框类CFileDialog 274

10.2.2 字体对话框类CFontDialog 275

10.2.3 颜色对话框类CCoIorDialog 276

10.2.4 寻找替换对话框类CFindReplaceDialog 277

10.2.5 打印对话框类CPrintDialog 277

10.3.1 控件分类 278

10.3 控件与控件类 278

10.3.2 控件的使用方法概要 280

10.3.3 标准控件的使用 281

10.4 画线程序的线型线宽对话框实例 283

10.4.1 创建线型线宽对话框资源 283

10.4.2 创建线型线宽对话框类 284

10.4.3 修改对话框类代码 286

10.4.4 添加“选项”菜单 288

10.4.5 创建对话框对象并显示对话框 289

10.4.7 画线程序的编译运行 294

10.4.6 添加工具栏按钮 294

习题十 296

第11章 面向对象的程序设计 297

11.1 面向对象的程序设计思路 297

11.1.1 类与数据封装 297

11.1.2 派生类与继承性 298

11.1.3 虚函数与多态性 299

11.1.4 数据存储与屏幕重绘 300

11.1.5 画图程序的设计思路 301

11.2 图形类的定义 302

11.2.1 图形基类CShape 302

11.2.2 直线类CLine 303

11.2.3 圆弧类CArc 304

11.2.4 贝塞尔曲线类CBezier 305

11.2.5 矩形类CRectangle 307

11.2.6 圆角矩形类CRoundRect 308

11.2.7 圆类CCircle 310

11.2.8 椭圆类CEllipse 311

11.2.9 多边形类CPolygon 313

11.3 二维图形程序的实现 316

11.3.1 修改文档类代码 316

11.3.2 修改视图类代码 318

11.3.3 增加绘图菜单 325

11.3.4 创建绘图工具栏 330

11.3.5 二维图形程序的编译运行 332

习题十一 333

12.1.1 多线程的概念 334

12.1 多线程程序的概念、类型及设计思路 334

第12章 多线程程序设计 334

12.1.2 多线程的类型 335

12.1.3 多线程程序的设计思路 336

12.2 多线程程序有关的类及函数 337

12.2.1 CWinThread类 337

12.2.2 同步类 338

12.2.3 窗口类 339

12.3.1 单线程多文字窗口程序的实现 340

12.3 工作者线程的实现 340

12.2.4 全局函数 340

12.3.2 工作者线程的实现 343

12.4 用户界面线程的实现 345

12.4.1 增加弹球子窗口类 345

12.4.2 增加弹球视图类 349

12.4.3 增加弹球线程类 354

12.4.4 增加弹球线程的用户操作界面 355

12.5 多线程程序的编译运行 360

习题十二 361