《C++语言程序设计教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:宋斌,曾春平,朱小谷等编写
  • 出 版 社:北京:科学出版社
  • 出版年份:2005
  • ISBN:7030152948
  • 页数:373 页
图书介绍:本书是一本专门讲解C++语言的教材。

1.1.1 C语言是中级语言 1

目录 1

7.1.3 动态联编 25 1

1.1 C++语言的前身-C语言 1

第1章绪论 1

1.1.2 C语言是结构化语言 2

1.1.3 C语言的特点 3

1.1.4 C语言的缺陷 3

1.2 C++语言的产生和发展 3

1.2.1 带类的C 3

1.2.2 从带类的C到C++ 4

1.2.3 C++2.0版 5

1.2.4 C++3.0版 5

1.2.5 C++的标准化 5

1.2.6 C++大事年表 6

1.3.1 面向过程的程序设计 7

1.3.2 面向对象的程序设计 7

1.3 面向对象程序设计 7

1.3.3 对象和类 8

1.3.4 封装性 8

1.3.5 继承性 9

1.4.1 C++对面向对象程序设计方法的支持 10

1.3.6 多态性 10

1.4 C++面向对象程序设计语言 10

1.4.2 C++与C语言的关系 12

1.5 C++程序的编辑、编译和运行 13

1.5.1 编辑源代码 13

1.5.2 程序编译 13

1.5.3 程序运行 14

1.5.4 程序调试 15

1.6 C++的词法及词法规则 15

1.6.1 C++的字符集 15

1.6.2 单词及词法规则 16

1.7 C++的程序结构 17

1.7.1 C++语言的注释 18

1.7.2 预处理命令 18

1.7.3 函数 19

1.7.4 输入和输出 19

1.7.5 C++程序的书写格式 19

1.8 用Visual C++创建控制台应用程序 21

2.1 基本数据类型 25

2.1.1 C++的基本数据类型 25

第2章 C++语言基础 25

2.1.2 字符型 26

2.1.3 整型 27

2.1.4 浮点型 28

2.1.5 布尔型 28

2.1.6 空值型 28

2.2 常量 28

2.2.1 常量的定义 29

2.2.2 整型常量 30

2.2.3 浮点型常量 30

2.2.3 字符常量 31

2.2.4 字符串常量 32

2.3.1 变量的定义 33

4.2 对象指针 1 33

2.3 变量 33

2.3.2 变量的值 34

2.4 存储类 34

2.4.1 自动变量 35

2.4.2 寄存器变量 35

2.4.3 静态变量 35

2.4.4 外部变量 35

2.5 数组类型 36

2.5.1 一维数组 36

2.5.2 多维数组 37

2.5.3 数组的初始化 37

2.5.4 字符数组 38

2.6.1 指针 39

2.6 指针和引用 39

2.6.2 引用 40

2.7 构造数据类型 41

2.7.1 结构 41

2.7.2 联合 42

2.7.3 枚举类型 43

2.7.4 typedef 43

2.8.1 运算符 44

2.8 运算符和表达式 44

2.8.2 表达式 45

2.8.3 数据类型转换 45

2.9 程序控制结构 46

2.9.1 表达式语句和块语句 46

2.9.2 选择语句 46

2.9.3 循环语句 55

2.9.4 转移语句 60

2.10 函数定义和调用 64

2.10.1 函数的定义 64

2.10.2 函数原型 65

2.10.3 函数调用 67

2.10.4 函数的参数 70

2.10.5 C++语言中函数参数的缺省值 74

2.10.6 使用C++的系统函数 76

第3章 类和对象 78

3.1 类的定义 78

3.1.1 什么是类 78

3.1.2 类的定义格式 79

3.1.3 定义类时的注意事项 84

3.2 对象的定义 85

3.2.1 对象的定义格式 85

3.2.2 对象成员的访问 86

3.3 构造函数 90

3.3.1 定义构造函数 90

3.3.3 构造函数与运算符new 93

3.3.2 缺省构造函数 93

3.3.4 拷贝初始化构造函数 94

3.4 析构函数 99

3.4.1 定义析构函数 99

3.4.3 析构函数与运算符delete 101

3.4.2 缺省析构函数 101

3.5 内联函数 102

3.5.1 内联函数的定义 102

3.5.2 内联成员函数 103

3.5.3 内联函数与宏的比较 104

3.6 静态成员 105

3.6.1 静态数据成员 105

3.6.2 静态成员函数 108

3.6.3 静态成员实例 110

3.7 友元函数和友元类 112

3.7.1 友元函数 112

3.7.2 友元类 118

3.8 类的作用域 121

3.9 嵌套类 123

4.1 对象数组 126

4.1.1 对象数组的定义 126

第4章 对象运算 126

4.1.2 用成员函数给对象数组赋值 127

4.1.3 用构造函数给对象数组赋值 129

4.2.1 指向类类型对象的指针 134

4.2.2 指向类成员的指针 135

4.2.3 对象指针作函数的参数 137

4.3 指向数组的指针和指针数组 139

4.3.1 指向一般数组的指针 139

4.3.2 指向对象数组的指针 140

4.3.3 一般指针数组 141

4.3.4 对象指针数组 144

4.4.1 引用的概念 145

4.4 引用 145

4.4.2 引用的地址 147

4.4.3 引用作函数参数 148

4.4.4 用引用作函数的返回值 152

4.5 this指针 154

第5章 派生和继承 158

5.1 继承的概念 158

5.2 基类和派生类 160

5.2.1 派生类的定义格式 160

5.2.2 基类与派生类的关系 161

5.3 三种继承方式 162

5.3.1 继承方式概述 162

5.3.2 公有继承方式 163

5.3.3 私有继承方式 164

5.3.4 继承与保护成员 165

5.3.5 保护继承方式 171

5.4 单继承 172

5.4.1 单继承的两个实例 172

5.4.2 构造函数和析构函数的执行 176

5.4.3向基类的构造函数传递参数 179

5.4.4 子类型化和类型适应 181

5.5 多继承 184

5.5.1 多继承的概念 184

5.5.2 多继承下对象的创建和销毁 186

5.5.3 多继承的构造函数 188

5.6 多继承的二义性 192

5.6.1 多继承的二义性问题 192

5.6.2 用作用域限定符解决二义性问题 194

5.7 虚函数 196

5.7.1 用虚基类解决二义性的问题 196

5.7.2 虚基类的初始化 199

5.7.3 虚基类的构造函数 200

6.1.1 参数类型不同的重载函数 202

第6章 函数和运算符重载 202

6.1 函数重载 202

6.1.2 参数个数不同的重载函数 203

6.1.3 重载函数调用的机制 205

6.1.4 函数重载的二义性 206

6.2 构造函数的重载 208

6.2.1 构造函数的重载 208

6.2.2 指向重载函数的指针 211

6.3 成员函数的重载、覆盖和隐藏 212

6.3.1 重载与覆盖 212

6.3.2 隐藏规则 213

6.4 运算符重载 215

6.4.1 重载为类成员函数 215

6.4.2 重载为类的友元函数 221

6.4.3 运算符重载的几个问题 224

6.5 重载增(减)量运算符 226

6.5.1 增(减)量运算符的区别 226

6.5.2 增(减)量运算符重载为成员函数 227

6.5.3 增(减)量运算符重载为友元函数 229

6.6 重载new和delete 231

6.6.1 简单重载new和delete 231

6.6.2 数组重载new和delete运算符 234

6.7 其他运算符重载 238

6.7.1 重载下标运算符[] 238

6.7.2 函数调用运算符的重载 240

6.7.3 成员选择运算符的重载 242

第7章 虚函数与多态性 245

7.1 静态联编和动态联编 245

7.1.1 基类指针和派生类指针 245

7.1.2 静态联编 248

7.2 虚函数 253

7.2.1 虚函数的定义 253

7.2.2 虚函数的工作机制 255

7.2.3 虚函数的分级性 256

7.2.4 虚函数的访问权限 260

7.3 成员函数对虚函数的调用 261

7.3.1 在普通成员函数中调用虚函数 261

7.3.2 在构造函数中调用虚函数 265

7.4 多重继承与虚函数 266

7.5 虚析构函数 271

7.6 纯虚函数与抽象类 275

7.6.1 纯虚函数 275

7.6.2 抽象类 277

第8章 模板 282

8.1 模板的引入 282

8.2 函数模板 283

8.2.1 函数模板的声明 284

8.2.2 多个通用数据类型的函数模板 286

8.2.3 模板函数与重载函数 287

8.2.4 模板函数的局限性 288

8.3.1 类模板的定义 289

8.3 类模板 289

8.3.2 多个通用数据类型的类模板 293

8.4 类模板的派生问题 294

8.4.1 普通类作为基类 294

8.4.2 类模板作为基类 295

第9章 错误和异常处理 297

9.1 错误与异常 297

9.3.1 异常处理的过程 299

9.3 异常处理 299

9.2 C++异常处理机制 299

9.3.2 terminate()函数 304

9.4 多个异常 304

9.4.1 捕获多个异常 304

9.4.2 捕获未知异常 307

9.5 异常的再次抛出 310

9.6 异常的接口说明 312

9.6.1 异常接口说明格式 312

9.6.2 unexpected()函数 315

9.7 资源分配异常 317

9.8 异常的组织 319

9.8.1 用枚举组织异常 320

9.8.2 用派生类组织异常 320

9.8.3 用虚函数组织异常 323

第10章 输入和输出流 326

10.1 输入/输出流简介 326

10.2 C++标准I/O 328

10.2.1 预定义的插入符 328

10.2.2 预定义的提取操作符 330

10.2.3 预定义I/O流对象 332

10.2.4 C++的I/O流是类型安全的流 335

10.3 格式化I/O 336

10.3.1 输入输出格式控制 337

10.3.2 函数setf()实现格式化输出 338

10.3.3 函数flags()实现格式化输出 340

10.3.4 函数width()、fill()和precision() 343

10.3.5 利用操作算子实现格式化I/O 345

10.4 重载插入符和提取符 346

10.5 文件的输入/输出 350

10.4.1 文件的概念 350

10.4.2 文件的打开和关闭 352

10.4.3 文本文件的读写 356

10.4.4 二进制文件的读写 357

10.4.5 对文件的随机访问 361

10.6 字符串流I/O 364

10.6.1 ostrstream类流 365

10.6.2 istrstream类流 368

10.6.3 strstream类流 370

10.7 流的错误处理 371

10.7.1 状态字和状态函数 371

10.7.2 清除/设置流的状态位 372

参考文献 373