每天10分钟轻松掌握C++(第二版)
作 者: (美)利伯蒂 著;马礼伟 等译
出版时间:2009
丛编项: 图灵程序设计丛书
内容简介
《每天10分钟轻松掌握C++(第2版)》围绕一个实用程序的开发展开,讲解了C++各方面的特性,包括函数、异常处理、堆与栈的区别、结构体、类、继承、多态等基本概念,还包括模板、性能优化等比较深入的知识。与其他只讲C++语言本身的图书不同,《每天10分钟轻松掌握C++(第2版)》更注重语言特性的应用,并在应用的基础上讲解了迭代的软件开发过程,涉及软件的设计、开发、调试、测试以及重构等若干方面。《每天10分钟轻松掌握C++(第2版)》适合各层次 C++程序员使用。
目录
第1章 准备工作 1
1.1 目标 1
1.2 C++语言 1
1.3 准备编程 2
1.4 C++、ANSI C++、Windows等问题 2
1.5 编译器和编辑器 3
1.6 开发周期 4
1.7 改进程序 5
1.8 一个简单的程序 5
1.9 程序的组成 5
1.10 编译期错误 6
1.11 小结 7
第2章 输出到控制台——标准输出 8
2.1 改进空程序 8
2.2 理解#include 9
2.3 命名空间 9
2.4 注释 10
2.5 空白行 10
2.6 函数 11
2.7 逐字理解cout语句 11
2.8 小结 12
第3章 计算 13
3.1 执行计算和显示结果 13
3.2 括号嵌套 14
3.3 使用输入流 15
3.4 使用int变量和常量 17
3.5 变量的类型和有效变量名 18
3.6 小结 20
第4章 数字输入 21
4.1 数字输入 21
4.2 哪里出错了 24
4.3 小结 26
第5章 if语句和判断条件 27
5.1 处理失败的输入流 27
5.2 小结 31
第6章 异常处理 32
6.1 异常处理——更好的方式 32
6.2 为什么使用异常 34
6.3 小结 34
第7章 函数 35
7.1 什么是函数 35
7.2 定义函数 36
7.3 把示例程序分解成多个函数 37
7.4 重构 40
7.5 把函数的代码放在哪里 41
7.6 全局变量 42
7.7 测试 43
7.8 小结 43
第8章 把代码分解成模块 44
8.1 什么是模块 44
8.2 为什么使用模块 44
8.3 使用库改变名字 47
8.4 调用函数 48
8.5 分离编译 50
8.6 测试 50
8.7 小结 50
第9章 do/while循环 51
9.1 当前进度 51
9.2 执行多次 51
9.3 至少执行一次 51
9.4 一次都不执行或执行多次 55
9.5 小结 56
第10章 循环嵌套和复杂布尔表达式 57
10.1 循环嵌套 57
10.2 关系运算符 59
10.3 使用bool变量化简 61
10.4 小结 62
第11章 switch语句、静态变量和runtime_error 63
11.1 switch语句 63
11.2 扩展计算器 64
11.3 处理新的异常 67
11.4 小结 68
第12章 数组、循环及递增和递减运算符 69
12.1 使用数组创建计算器磁带 69
12.2 磁带 69
12.3 for循环 71
12.4 数组访问越界 72
12.5 递增和递减 72
12.6 累加器中的计算器磁带 73
12.7 小结 74
第13章 存储:堆、栈和指针 75
13.1 堆与栈 75
13.2 指针、引用和数组 77
13.3 使用指针存在危险 84
13.4 从堆中删除指针 84
13.5 删除数组 85
13.6 小结 85
第14章 测试 86
14.1 测试堆分配内存为什么很重要 86
14.2 使用“微型语言”让计算器更通用 86
14.3 不用调试器调试 94
14.4 小结 96
第15章 结构和类型 97
15.1 组织结构 97
15.2 声明枚举类型 98
15.3 声明结构体类型 101
15.4 栈上的结构体 101
15.5 堆上的结构体 102
15.6 用结构体单向链表实现磁带 103
15.7 函数指针和回调 105
15.8 小结 109
第16章 文件I/O 110
16.1 保存程序的运行状态 110
16.2 恢复磁带 114
16.3 重新播放磁带恢复状态 114
16.4 小结 117
第17章 类:带函数的结构体 118
17.1 把类看做迷你程序 118
17.2 类与实例 118
17.3 构造函数和析构函数 122
17.4 复制构造函数以及何时使用它 126
17.5 放宽类中“使用前声明” 127
17.6 小结 127
第18章 用类重构计算器 128
18.1 把函数移入类中 128
18.2 小结 131
第19章 用类实现计算器 132
19.1 类的标记 132
19.2 aRequest的私有成员和公有成员 134
19.3 初始化 134
19.4 内部状态 136
19.5 命名 138
19.6 把函数的内容移入成员函数 139
19.7 将对象作为回调结构体 144
19.8 对象所有权 144
19.9 小结 145
第20章 用类实现计算器的 其他功能 146
20.1 使用C++标准库 146
20.2 对象中的用户接口 150
20.3 main.cpp 155
20.4 小结 156
第21章 函数和运算符重载 157
21.1 在类中声明重载成员函数 157
21.2 重载构造函数 160
21.3 重载运算符意味着什么 161
21.4 运算符重载存在危险 161
21.5 重载赋值运算符和复制构造函数 165
21.6 小结 166
第22章 继承 167
22.1 继承的声明 167
22.2 引用对象的类和父类 171
22.3 重写函数 174
22.4 保护访问 175
22.5 virtual是什么 176
22.6 虚构造函数和析构函数 178
22.7 虚成员函数 178
22.8 调用父类 179
22.9 小结 179
第23章 用继承测试对象 180
23.1 编写测试用具 180
23.2 用已知的用例测试类 180
23.3 回归测试 182
23.4 小结 183
第24章 抽象类、多重继承和静态成员 184
24.1 创建接口 184
24.2 多重继承 191
24.3 类中的静态成员变量和静态函数 193
24.4 小结 197
第25章 模板 198
25.1 模板的优点和缺点 198
25.2 模板的声明和使用 198
25.3 小结 210
第26章 性能优化 211
26.1 运行更快、体积更小 211
26.2 内联 211
26.3 递增和递减 213
26.4 模板与普通类 213
26.5 测量代码运行时间 214
26.6 程序和数据结构的大小 215
26.7 小结 215
第27章 总结 216
27.1 如何增强计算器 216
27.2 学到的内容 217
附录A 运算符 220
附录B 运算符优先级 226
附录C 重要的C++关键字 228
索引 230