《C++面向对象程序设计》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:陈维兴
  • 出 版 社:
  • 出版年份:2017
  • ISBN:
  • 页数:0 页
图书介绍:

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

1.1 面向对象程序设计概述 1

1.1.1 面向对象程序设计的定义 1

1.1.2 面向对象程序设计的基本概念 2

1.1.3 面向对象程序设计的基本特征 4

1.2 面向对象程序设计的特点 8

1.2.1 面向过程程序设计的局限性 8

1.2.2 面向对象程序设计的主要优点 9

1.3 面向对象程序设计的语言 10

1.3.1 面向对象程序设计语言的发展概况 10

1.3.2 几种典型的面向对象程序设计语言 11

本章小结 12

习题 13

第2章 C++基础 14

2.1 C++的产生和特点 14

2.1.1 C++的产生 14

2.1.2 C++的特点 15

2.2 C++程序的结构特性 15

2.2.1 一个简单的C++示例程序 15

2.2.2 C++程序的结构特性 16

2.3 C++程序的编辑、编译、连接和运行 17

2.4 C++在非面向对象方面对C语言的扩充 18

2.4.1 注释行 18

2.4.2 C++的输入和输出 19

2.4.3 灵活的变量声明 21

2.4.4 结构、联合和枚举名 22

2.4.5 函数原型 23

2.4.6 const修饰符 25

2.4.7 void型指针 26

2.4.8 内联函数 27

2.4.9 带有默认参数值的函数 28

2.4.10 函数重载 29

2.4.11 作用域标识符“::” 31

2.4.12 强制类型转换 32

2.4.13 new和delete运算符 32

2.4.14 引用 35

本章小结 42

习题 42

第3章 类和对象(一) 46

3.1 类的构成 46

3.1.1 从结构体到类 46

3.1.2 类的构成概述 47

3.2 成员函数的定义 49

3.2.1 普通成员函数的定义 49

3.2.2 内联成员函数的定义 50

3.3 对象的定义和使用 51

3.3.1 类与对象的关系 51

3.3.2 对象的定义 52

3.3.3 对象中成员的访问 52

3.3.4 类的作用域和类成员的访问属性 54

3.3.5 对象赋值语句 55

3.4 构造函数与析构函数 56

3.4.1 构造函数 56

3.4.2 成员初始化列表 60

3.4.3 带默认参数的构造函数 61

3.4.4 析构函数 63

3.4.5 默认的构造函数和默认的析构函数 66

3.4.6 构造函数的重载 69

3.4.7 拷贝构造函数 71

3.4.8 浅拷贝和深拷贝 78

本章小结 81

习题 82

第4章 类和对象(二) 87

4.1 自引用指针this 87

4.2 对象数组与对象指针 90

4.2.1 对象数组 90

4.2.2 对象指针 93

4.2.3 string类 95

4.3 向函数传递对象 97

4.3.1 使用对象作为函数参数 97

4.3.2 使用对象指针作为函数参数 98

4.3.3 使用对象引用作为函数参数 99

4.4 静态成员 100

4.4.1 静态数据成员 100

4.4.2 静态成员函数 104

4.5 友元 107

4.5.1 友元函数 108

4.5.2 友元类 112

4.6 类的组合 114

4.7 共享数据的保护 117

4.7.1 常引用 117

4.7.2 常对象 118

4.7.3 常对象成员 119

4.8 C++程序的多文件组成 122

4.9 程序举例 123

本章小结 125

习题 126

第5章 继承与派生 135

5.1 继承与派生的概念 135

5.1.1 使用继承的原因 135

5.1.2 派生类的声明 137

5.1.3 基类成员在派生类中的访问属性 138

5.1.4 派生类对基类成员的访问规则 139

5.2 派生类的构造函数和析构函数 144

5.2.1 派生类构造函数和析构函数的调用顺序 144

5.2.2 派生类构造函数和析构函数的构造规则 145

5.3 调整基类成员在派生类中的访问属性的其他方法 151

5.3.1 同名成员 151

5.3.2 访问声明 152

5.4 多继承与虚基类 155

5.4.1 声明多继承派生类的方法 155

5.4.2 多继承派生类的构造函数与析构函数 157

5.4.3 虚基类 161

5.5 赋值兼容规则 166

5.6 程序举例 169

本章小结 172

习题 172

第6章 多态性与虚函数 176

6.1 多态性概述 176

6.1.1 虚函数的案例 177

6.1.2 虚函数的作用和定义 177

6.1.3 虚析构函数 181

6.1.4 虚函数与重载函数的关系 183

6.1.5 多继承与虚函数 184

6.2 纯虚函数和抽象类 185

6.2.1 纯虚函数 185

6.2.2 抽象类 186

6.3 程序举例 187

本章小结 190

习题 191

第7章 运算符重载 194

7.1 运算符重载概述 194

7.2 运算符函数重载为类的友元函数和成员函数 196

7.2.1 友元运算符重载函数 196

7.2.2 成员运算符重载函数 201

7.2.3 运算符重载应该注意的几个问题 205

7.3 几个常用运算符的重载 208

7.3.1 赋值运算符“=”的重载 208

7.3.2 下标运算符“[]”的重载 212

7.3.3 函数调用运算符“()”的重载 213

7.4 重载插入运算符和提取运算符 215

7.4.1 重载插入运算符“<<” 215

7.4.2 重载提取运算符“>>” 217

7.5 类型转换 218

7.5.1 标准类型间的转换 218

7.5.2 类类型与标准类型间的转换 219

7.6 程序举例 223

本章小结 225

习题 225

第8章 函数模板与类模板 229

8.1 模板的概念 229

8.2 函数模板 230

8.2.1 函数模板的声明 230

8.2.2 函数模板的使用 231

8.3 类模板 234

8.4 程序举例 239

本章小结 241

习题 241

第9章 C++的输入和输出 246

9.1 C++为何建立自己的输入/输出系统 246

9.2 C++的流库及其基本结构 247

9.2.1 C++的流 247

9.2.2 预定义的流对象 249

9.2.3 输入/输出流的成员函数 250

9.3 预定义类型输入/输出的格式控制 251

9.3.1 用流成员函数进行输入/输出格式控制 252

9.3.2 使用预定义的操作符进行输入/输出格式控制 255

9.3.3 使用用户自定义的操作符进行输入/输出格式控制 258

9.4 文件的输入/输出 259

9.4.1 文件概述 259

9.4.2 文件的打开与关闭 260

9.4.3 文本文件的读/写 263

9.4.4 二进制文件的读/写 265

9.5 程序举例 271

本章小结 272

习题 273

第10章 异常处理和命名空间 277

10.1 异常处理 277

10.1.1 异常处理概述 277

10.1.2 异常处理的方法 278

10.2 命名空间和头文件命名规则 282

10.2.1 命名空间 282

10.2.2 头文件命名规则 284

本章小结 284

习题 285

第11章 STL标准模板库 287

11.1 容器、算法和迭代器的基本概念 287

11.2 容器 288

11.2.1 vector容器 288

11.2.2 list容器 293

11.2.3 容器适配器 297

11.2.4 deque容器 301

11.2.5 set、multiset、map和multimap容器 302

本章小结 304

习题 304

第12章 面向对象程序设计方法与实例 308

12.1 面向对象程序设计的一般方法和技巧 308

12.2 设计实例 311

12.2.1 举例:模拟网上购书的结账功能 311

12.2.2 举例:模拟ATM为用户提供服务 319

本章小结 333

习题 333

参考文献 334