本书的例程以VC 2010为运行环境,全书分为上、下两册:上册介绍C++程序设计的基础知识,下册介绍VC++在.Net环境下的Windows应用程序设计。本书为上册,共分12章:第1章基本数据与表达式,第2章程序控制结构,第3章函数,第4章数组,第5章集合与结构,第6章类与对象,第7章运算符重载,第8章继承,第9章虚函数与多态性,第10章模板,第11章输入/输出流,第12章异常处理。本书提供配套的电子课件和习题解答,请登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。电子课件由近3000张PPT幻灯片组成,以图形语言为设计理念,充分表达程序设计课程的教学特点。本书可以作为高等学校计算机类、信息类、电类专业本科生高级语言程序设计课程教材,也可以作为教师、学生和C++语言爱好者的参考书。
目录
- 第1章 基本数据与表达式 1
- 1.1 概述 1
- 1.1.1 程序设计与程序设计语言 1
- 1.1.2 一个简单的C++程序 2
- 1.1.3 程序的编译执行 4
- 1.2 C++语言的字符集与词汇 5
- 1.2.1 字符集 6
- 1.2.2 词汇 6
- 1.3 C++语言的基本数据类型与存储形式 7
- 1.3.1 C++语言的数据类型 7
- 1.3.2 数据存储 7
- 1.3.3 基本数据类型 8
- 1.4 数据对象与访问 11
- 1.4.1 变量定义 11
- 1.4.2 访问变量 12
- 1.4.3 常量和约束访问 17
- 1.5 表达式 19
- 1.5.1 运算符 19
- 1.5.2 算术表达式 21
- 1.5.3 逻辑表达式 23
- 1.5.4 赋值表达式 25
- 1.5.5 条件表达式 26
- 1.5.6 逗号表达式 26
- 1.6 数据输入和输出 27
- 1.6.1 键盘输入 27
- 1.6.2 屏幕输出 27
- 1.6.3 表达式语句 29
- 本章小结 29
- 练习题 30
- 第2章 程序控制结构 36
- 2.1 选择控制 36
- 2.1.1 if语句 36
- 2.1.2 switch语句 41
- 2.2 循环控制 45
- 2.2.1 while语句 45
- 2.2.2 do-while语句 48
- 2.2.3 for语句 52
- 2.2.4 循环的嵌套 56
- 2.3 判断表达式的使用 58
- 2.4 转向语句 60
- 本章小结 63
- 练习题 63
- 第3章 函数 70
- 3.1 函数的定义与调用 70
- 3.1.1 函数定义 70
- 3.1.2 函数调用 71
- 3.1.3 函数原型 71
- 3.2 函数参数的传递 73
- 3.2.1 传值参数 73
- 3.2.2 指针参数 77
- 3.2.3 引用参数 79
- 3.2.4 函数的返回类型 81
- 3.3 函数调用机制 84
- 3.3.1 嵌套调用 84
- 3.3.2 递归调用 85
- 3.4 函数地址和函数指针 89
- 3.4.1 函数的地址 90
- 3.4.2 函数指针 91
- 3.5 内联函数和重载函数 95
- 3.5.1 内联函数 95
- 3.5.2 重载函数 96
- 3.6 变量存储特性与标识符作用域 96
- 3.6.1 存储特性 97
- 3.6.2 标识符的作用域与可见性 98
- 3.7 多文件程序结构 101
- 3.7.1 多文件结构 101
- 3.7.2 预处理指令 102
- 3.7.3 多文件程序使用全局变量 106
- 3.8 命名空间 107
- 3.8.1 标准名空间 107
- 3.8.2 定义命名空间 108
- 3.8.3 使用命名空间 110
- 3.9 终止程序执行 111
- 本章小结 113
- 练习题 114
- 第4章 数组 124
- 4.1 一维数组 124
- 4.1.1 一维数组定义与初始化 124
- 4.1.2 一维数组访问 126
- 4.2 指针数组 129
- 4.2.1 指向基本数据类型的指针数组 129
- 4.2.2 指向数组的指针数组 129
- 4.2.3 指向函数的指针数组 130
- 4.3 二维数组 131
- 4.3.1 二维数组的定义与初始化 132
- 4.3.2 二维数组访问 133
- 4.4 数组作为函数参数 136
- 4.4.1 向函数传送数组元素 136
- 4.4.2 数组名作为函数参数 137
- 4.4.3 应用举例 139
- 4.5 动态存储 143
- 4.5.1 new和delete操作符 143
- 4.5.2 动态存储的应用 143
- 4.6 字符数组与字符串 146
- 4.6.1 字符串存储 146
- 4.6.2 字符串的访问 148
- 4.6.3 字符串处理函数 150
- 4.7 STRING类 154
- 本章小结 158
- 练习题 159
- 第5章 集合与结构 169
- 5.1 位运算 169
- 5.2 集合 175
- 5.2.1 集合的基本运算 175
- 5.2.2 集合运算的实现 175
- 5.3 结构 181
- 5.3.1 定义结构 181
- 5.3.2 访问结构 183
- 5.3.3 结构参数 185
- 5.4 结构数组 187
- 5.5 链表 190
- 本章小结 199
- 练习题 199
- 第6章 类与对象 207
- 6.1 类和对象的定义与访问 207
- 6.1.1 定义类和对象 208
- 6.1.2 访问对象成员 210
- 6.1.3 this指针 211
- 6.2 构造函数和析构函数 211
- 6.2.1 简单构造函数和析构函数 212
- 6.2.2 带参数的构造函数 213
- 6.2.3 重载构造函数 215
- 6.2.4 复制构造函数 215
- 6.3 类的其他成员 221
- 6.3.1 常成员 221
- 6.3.2 静态成员 224
- 6.3.3 友元 228
- 6.4 类的包含 230
- 本章小结 234
- 练习题 234
- 第7章 运算符重载 244
- 7.1 运算符重载规则 244
- 7.1.1 重载运算符的限制 244
- 7.1.2 重载运算符的语法形式 244
- 7.2 用成员或友元函数重载运算符 246
- 7.2.1 用成员函数重载运算符 247
- 7.2.2 用友元函数重载运算符 249
- 7.3 几个典型运算符的重载 251
- 7.3.1 重载++与- - 251
- 7.3.2 重载赋值运算符 253
- 7.3.3 重载运算符[ ]和() 254
- 7.3.4 重载流插入和流提取运算符 256
- 7.4 类类型转换 263
- 7.4.1 构造函数进行类类型转换 263
- 7.4.2 类型转换函数 264
- 本章小结 268
- 练习题 268
- 第8章 继承 277
- 8.1 类之间的关系 277
- 8.2 基类和派生类 278
- 8.2.1 访问控制 278
- 8.2.2 重名成员 285
- 8.2.3 派生类中访问静态成员 288
- 8.3 基类的初始化 289
- 8.4 继承的应用实例 291
- 8.5 多继承 296
- 8.5.1 多继承的派生类构造和访问 297
- 8.5.2 虚继承 300
- 本章小结 304
- 练习题 305
- 第9章 虚函数与多态性 314
- 9.1 静态联编 314
- 9.2 类指针的关系 315
- 9.2.1 用基类指针引用派生类对象 315
- 9.2.2 用派生类指针引用基类对象 316
- 9.3 虚函数和动态联编 319
- 9.3.1 虚函数和基类指针 319
- 9.3.2 虚函数的重载特性 322
- 9.3.3 虚析构函数 323
- 9.4 纯虚函数和抽象类 325
- 9.4.1 纯虚函数 325
- 9.4.2 抽象类 327
- 9.5 虚函数和多态性的应用 329
- 9.5.1 一个实例 329
- 9.5.2 异质链表 334
- 本章小结 337
- 练习题 337
- 第10章 模板 341
- 10.1 什么是模板 341
- 10.2 函数模板 341
- 10.2.1 模板说明 342
- 10.2.2 函数模板与模板函数 342
- 10.2.3 重载函数模板 344
- 10.3 类模板 346
- 10.3.1 类模板与模板类 346
- 10.3.2 类模板作为函数参数 348
- 10.3.3 在类层次中的类模板 349
- 10.3.4 类模板与友元 352
- 10.3.5 类模板与静态成员 354
- 10.4 标准模板 355
- 10.4.1 容器 355
- 10.4.2 迭代器 360
- 10.4.3 算法 362
- 本章小结 365
- 练习题 366
- 第11章 输入/输出流 370
- 11.1 流类和流对象 370
- 11.1.1 流类库 370
- 11.1.2 头文件 371
- 11.2 标准流和流操作 372
- 11.2.1 标准流 372
- 11.2.2 输入流操作 373
- 11.2.3 输出流操作 374
- 11.2.4 流错误状态 375
- 11.3 格式控制 377
- 11.3.1 设置标志字 377
- 11.3.2 格式控制符 380
- 11.4 串流 382
- 11.5 文件处理 384
- 11.5.1 文件和流 384
- 11.5.2 打开和关闭文件 385
- 11.5.3 文本文件 387
- 11.5.4 二进制数据文件 391
- 本章小结 402
- 练习题 403
- 第12章 异常处理 409
- 12.1 C++的异常处理机制 409
- 12.2 异常处理的实现 410
- 12.2.1 异常处理程序 410
- 12.2.2 带异常说明的函数原型 413
- 12.2.3 再抛出异常传递 414
- 12.2.4 创建对象的异常处理 415
- 本章小结 416
- 附录A 控制台程序设计 418
- 附录B 常用库函数 440
- 附录C C++关键字表 452
- 附录D ASCII码字符集 453