《C++轻松入门》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:王浩编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115194657
  • 页数:274 页
图书介绍:本书分3篇:C++基础篇、C++特性篇和C++实例篇。

第1篇 初识C++ 3

第1章 面向对象的设计 3

1.1 接近自然的思维方式—面向对象的思想 3

1.1.1 无处不在的对象 3

1.1.2 对象的组织类 3

1.1.3 类与对象的关系 3

1.1.4 自然的思维方式面向对象 4

1.1.5 “基于”与“面向”的差别 4

1.2 传统设计与面向对象设计的比较 4

1.2.1 从“北京烤鸭”到面向对象 4

1.2.2 传统设计方法的缺点 5

1.2.3 面向对象设计方法的优点 5

1.3 面向对象的核心思想—抽象 6

1.3.1 核心思想—抽象 6

1.3.2 抽象的方法 6

1.4 面向对象的分析与设计 7

1.4.1 面向对象的分析方法 7

1.4.2 面向对象的设计 8

1.4.3 “小试牛刀”的结论 9

1.5 小结 9

1.6 小测试 9

第2章 认识C++开发利器—Visual C++ 11

2.1 C++的开发利器—Visual C++ 11

2.2 Visual C++的集成开发环境 12

2.2.1 启动Visual C++ 12

2.2.2 简单的主窗口 12

2.3 一目了然的菜单栏 13

2.3.1 File(文件)菜单 13

2.3.2 Edit(编辑)菜单 16

2.3.3 View(视图)菜单 18

2.3.4 Insert(插入)菜单 19

2.3.5 Proigect(项目)菜单 20

2.3.6 Build(生成)菜单 20

2.3.7 Tools(工具)菜单 21

2.3.8 Window(窗口)菜单 21

2.3.9 Help(帮助)菜单 22

2.3.10 Debug(调试)菜单 22

2.4 快捷方便的工具栏 22

2.4.1 Standard工具栏 23

2.4.2 Build工具栏 23

2.4.3 Debug工具栏 24

2.5 小结 24

2.6 小测试 24

第3章 开始C++之旅 26

3.1 神奇的“向导”—创建控制台程序 26

3.2 Hello World示例 27

3.3 解释这个C++程序 28

3.4 创建自己的Hello World 29

3.5 小结 30

3.6 小测试 30

第4章 C++基本功 32

4.1 数据与程序的区别 32

4.1.1 烹饪的菜谱—程序 32

4.1.2 烹饪的菜品—数据 32

4.2 标识符与关键字 33

4.2.1 什么是标识符 33

4.2.2 需要注意的关键字 33

4.3 分隔符与注释符 33

4.3.1 划分语句的分隔符 34

4.3.2 使语句无效的注释符 34

4.4 各式各样的“口袋”—变量 34

4.4.1 程序中的会变的“口袋”—定义变量 34

4.4.2 变量的数据类型 35

4.4.3 变量名 35

4.4.4 变量的初始化 35

4.5 常用的基本数据类型 35

4.5.1 整数型 36

4.5.2 实数型 37

4.5.3 字符型与字符串 38

4.5.4 布尔型 40

4.6 程序中的不会变的“口袋”—常量 41

4.6.1 创造不会变的口袋—定义常量 41

4.6.2 各种进制的常量 42

4.7 给变量起个“绰号”—引用 42

4.8 综合应用—用程序来计算圆的面积 43

4.9 小结 43

4.10 小测试 43

第5章 C++的基本招式 46

5.1 C++中的运算符与表达式 46

5.1.1 运算符与表达式 46

5.1.2 算术运算符 47

5.1.3 赋值运算符 48

5.1.4 “加加”和“减减” 48

5.1.5 复合运算符 49

5.1.6 位运算符 49

5.1.7 关系运算符 52

5.1.8 不像运算符的运算符 53

5.2 运算符的优先级和结合性 53

5.3 各种“口袋”之间的转换 55

5.3.1 隐式转换 55

5.3.2 显式转换 56

5.4 小结 56

5.5 小测试 57

第6章 让C++程序听话—控制语句 58

6.1 构成C++程序的基本—语句 58

6.1.1 表达式语句与空语句 58

6.1.2 复合语句 59

6.2 让程序选择自己的路—条件选择语句 59

6.2.1 如果与否则 59

6.2.2 逻辑运算符的使用—&&和|| 62

6.2.3 爱判断的问号 64

6.3 不怕重复的工作者—循环语句 65

6.3.1 当型循环while 65

6.3.2 当型循环的兄弟do-while 66

6.3.3 循环语句for 67

6.3.4 省略表达式1的for语句 68

6.3.5 省略表达式2的for语句 68

6.3.6 省略表达式3的for语句 68

6.3.7 省略表达式1和3的for语句 69

6.3.8 3个表达式全部省略的for语句 69

6.3.9 与循环变量无关的for语句 69

6.4 多样的选择—switch 70

6.4.1 用switch对学生成绩进行分类 70

6.4.2 多个执行结果共用1个条件 72

6.5 循环的嵌套 73

6.5.1 while语句的自身嵌套 73

6.5.2 for语句的自身嵌套 73

6.5.3 do-while语句的自身嵌套 73

6.5.4 for语句循环内嵌套while循环 73

6.5.5 while语句循环内嵌套多重for循环 74

6.5.6 do-while语句内嵌套其他类型的多重循环 74

6.6 退出与跳过 75

6.6.1 退出-break 75

6.6.2 跳过-continue 76

6.7 控制语句综合示例 77

6.7.1 四则运算深入学习while和switch 78

6.7.2 判断用户输入的数是否是素数—深入学习循环和条件判断 78

6.8 小结 79

6.9 小测试 80

第7章 C++程序中的“经理”—函数 82

7.1 明白什么是“经理”—函数的概念 82

7.1.1 什么是函数 82

7.1.2 使用函数的好处 83

7.1.3 程序中的“总经理”-Main函数 83

7.2 如何培养自己的“经理” 83

7.2.1 函数的定义 83

7.2.2 C++中函数的声明 85

7.3 给你的“经理”更多的资源—函数的参数 87

7.3.1 形式参数与实际参数 87

7.3.2 函数的计算的结果—函数的返回值 89

7.3.3 函数参数的求值顺序 90

7.3.4 可以包含默认的初始化参数 91

7.3.5 参数的修饰符 92

7.4 使用程序中的“经理”—函数的调用 93

7.4.1 函数调用表达式 93

7.4.2 函数调用的方式 94

7.4.3 函数的传值调用 94

7.4.4 函数的引用调用 95

7.5 如何让一个“经理”有更多的能力—函数的重载 96

7.5.1 参数类型上不同的重载函数 96

7.5.2 参数个数上不同的重载函数 97

7.6 “经理”间的协助—函数的嵌套调用 97

7.7 特殊的“经理”—内联和递归函数 98

7.7.1 内联函数 98

7.7.2 递归函数 100

7.8 “挖墙角”—使用C++的系统函数 102

7.8.1 系统函数的使用 102

7.8.2 字符串处理函数 103

7.9 小结 106

7.10 小测试 106

第8章 决定生存的权力—存储分类符 108

8.1 存储分类符和作用域 108

8.1.1 存储分类符的意义 108

8.1.2 什么是作用域 108

8.2 各种各样分类符的作用域及其生存期 109

8.2.1 自动变量 109

8.2.2 寄存器变量 110

8.2.3 静态变量 111

8.2.4 外部变量 113

8.3 内部函数和外部函数 115

8.3.1 内部函数 115

8.3.2 外部函数 117

8.4 小结 118

8.5 小测试 118

第9章 C++中的“大口袋”——数组 120

9.1 编了号的“大口袋” 120

9.1.1 内存中的大口袋—数组的概念 120

9.1.2 如何创造一个“大口袋”—数组的声明和定义 120

9.2 搞明白数组在内存中如何存储 121

9.3 “大口袋”的特性 122

9.3.1 在声明时初始化数组 122

9.3.2 数组元素的访问 123

9.3.3 数组可以传递给函数 124

9.4 二维数组 125

9.4.1 二维数组的声明和初始化 125

9.4.2 省略第一维的大小 126

9.4.3 二维数组在内存中的存储方式 126

9.4.4 二维数组元素的访问 127

9.4.5 二维数组转换为一维数组 127

9.5 只装“字符”的数组 128

9.5.1 创造字符数组及其初始化 128

9.5.2 字符数组元素的访问 128

9.5.3 特殊的字符串结束符 129

9.6 小结 129

9.7 小测试 130

第10章 让人迷惑的指针 131

10.1 变量的“向导”—指针 131

10.2 指针变量的声明和使用 132

10.2.1 指针变量的类型 132

10.2.2 指针变量的声明 132

10.2.3 获得地址并对指针变量进行初始化 133

10.2.4 特殊的值—NULL 133

10.2.5 指针的使用 133

10.2.6 指向指针变量的指针 134

10.3 指针变量的操作 135

10.3.1 指针变量的加减运算 135

10.3.2 指针变量的关系运算 136

10.4 数组、字符串和指针 136

10.4.1 数组和指针 136

10.4.2 一维数组中元素的指针表示法 137

10.4.3 二维数组的指针表示法 138

10.4.4 字符串和指针 138

10.5 常量指针与指针常量 139

10.5.1 常量指针 139

10.5.2 指针常量 140

10.6 指针与函数 141

10.6.1 指针作为参数 141

10.6.2 指针作为返回值 142

10.7 c++中灵活的空间—堆内存 143

10.7.1 如何获得堆内存并使用 143

10.7.2 如何释放堆内存 144

10.8 小结 145

10.9 小测试 146

第11章 自己设计的数据类型—结构 148

11.1 自定义的数据类型—结构的概念 148

11.2 如何制作自定义数据类型—结构类型的声明 149

11.3 结构类型变量的定义 149

11.3.1 结构类型变量的定义 149

11.3.2 typedef的使用 150

11.4 对结构变量的赋值 151

11.5 结构成员的访问 151

11.6 特殊的自定义类型—枚举类型 152

11.6.1 有限的可能性——枚举 157

11.6.2 枚举变量的声明和赋值 153

11.7 结构类型的数组和指针 153

11.7.1 结构数组 153

11.7.2 结构指针 155

11.8 结构与函数 155

11.8.1 结构作为参数 155

11.8.2 结构作为返回值 157

11.9 结构中的结构 158

11.9.1 指针变量作为结构成员 158

11.9.2 结构变量作为结构成员 159

11.10 小结 159

11.11 小测试 160

第12章 C++的预处理程序指令 162

12.1 C++的预处理功能 162

12.2 INCLUDE命令 163

12.3 简单的字符串替换 164

12.3.1 宏定义 164

12.3.2 取消宏定义 165

12.4 定义宏函数 166

12.5 条件编译 167

12.5.1 ifdef-else-endif格式 167

12.5.2 ifndef-else-endif格式 167

12.5.3 if-else-endif格式 167

12.6 头文件的编写 168

12.7 小结 169

12.8 小测试 170

第2篇 C++的新特性 173

第13章 类 173

13.1 面向对象设计中的类机制 173

13.2 从结构到类的转变 173

13.2.1 成为过去的结构 173

13.2.2 面向对象的类 175

13.3 类的实例—对象 175

13.3.1 类与对象关系 176

13.3.2 对象的声明 176

13.3.3 对象成员的访问 176

13.4 类的数据成员 179

13.5 类的成员函数 179

13.5.1 成员函数的声明 179

13.5.2 成员函数的实现 180

13.5.3 成员函数的重载 181

13.5.4 给成员函数的参数设置默认值 182

13.6 类对成员的访问控制 183

13.6.1 成员控制的优点 183

13.6.2 各种控制关键字 183

13.6.3 public关键字 184

13.6.4 private关键字 184

13.7 小结 185

13.8 小测试 186

第14章 类中特殊的函数与常类型 187

14.1 对象的创造者—构造函数 187

14.1.1 默认的构造函数 187

14.1.2 带参数的构造函数 188

14.1.3 带默认参数的构造函数 189

14.1.4 对象“克隆”—拷贝构造函数 190

14.2 对象的毁灭者—析构函数 191

14.3 类中的常类型 192

14.3.1 常对象 192

14.3.2 常成员函数 192

14.3.3 常数据成员 193

14.4 小结 194

14.5 小测试 195

第15章 类与对象的各种指针和引用 196

15.1 对象与函数 196

15.1.1 对象指针作为函数的参数 196

15.2.2 对象引用作为函数的参数 197

15.3 一串连续的对象—对象数组 198

15.4 子对象与堆对象 200

15.4.1 子对象 200

15.4.2 堆对象 201

15.4.3 学习删除堆对象并综合练习堆对象的创建、删除 202

15.5 小结 204

15.6 小测试 204

第16章 共有结点、友元与操作符 205

16.1 类中的共有结点 205

16.1.1 静态数据成员 205

16.1.2 静态成员函数 207

16.2 This指针 208

16.3 友元函数与友元类 209

16.3.1 友元函数 210

16.3.2 友元类 211

16.4 多功能的操作符 212

16.5 文件输入输出对象的使用 216

16.5.1 文件的打开与关闭 216

16.5.2 写入数据到文件 217

16.5.3 读取文件数据 217

16.6 小结 218

16.7 小测试 218

第17章 父子关系——继承 220

17.1 父与子—继承 220

17.1.1 子承父业—继承的概念 220

17.1.2 继承的意义 220

17.2 单继承的实现 221

17.2.1 子类的声明 221

17.2.2 子类的继承方式和存取权限 222

17.3 子类的构造与析构函数及类型适应 224

17.3.1 子类的构造函数 224

17.3.2 子类的析构函数 226

17.3.3 子类的类型适应 227

17.4 多继承 228

17.4.1 海纳百川—多继承的概念 228

17.4.2 多继承的构造函数 229

17.4.3 多继承的问题 231

17.5 虚基类 234

17.5.1 虚基类的声明 234

17.5.2 虚基类的构造函数 235

17.6 小结 236

17.7 小测试 237

第18章 虚函数与多态 239

18.1 多态的概念与实现 239

18.1.1 多态的概念 239

18.1.2 多态的C++实现 239

18.2 多态性中的“静”与“动” 240

18.2.1 静态联编 240

18.2.2 动态联编 241

18.3 什么是虚函数 241

18.3.1 虚函数 241

18.3.2 虚析构函数 245

18.4 抽象类与纯虚函数 247

18.4.1 虚函数中的特例—纯虚函数 247

18.4.2 抽象类 249

18.5 小结 251

18.6 小测试 251

第19章 C++的单链表 255

19.1 链表的概念与创建 55

19.1.1 链表的概念 255

19.1.2 链表的创建 256

19.2 结点的操作 257

19.2.1 结点的增加 257

19.2.2 结点的删除 257

19.3 链表的操作 258

19.3.1 链表结点的遍历 258

19.3.2 链表结点的查找 259

19.3.3 链表的清除 259

19.4 单链表的应用 259

19.5 小结 261

第20章 C++向量容器的使用 262

20.1 向量容器的概念及创建 262

20.1.1 向量容器的概念 262

20.1.2 向量容器的创建 262

20.2 对向量容器的操作 263

20.2.1 向量元素的增加 263

20.2.2 向量元素的访问 263

20.2.3 向量元素的删除 264

20.3 向量容器的应用 265

20.4 小结 266

第21章 Visual C++的程序调试 267

21.1 启动调试模式 267

21.2 使用监视窗口 269

21.3 使用变量查看窗口 269

21.4 单步执行 270

21.5 小结 270

附录 Visual C++菜单中文注释 271