《C++语言程序设计 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:吕凤翥编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2005
  • ISBN:7121010321
  • 页数:459 页
图书介绍:本书全面系统地讲述了C语言和C++语言的基础知识、基本语法以及编程方法,详尽地讲述了C++语言面向对象的重要特征:类和对象、继承性和派生类、多态性和虚函数等内容。本书配有丰富的例题,每章后面备有形式多样的练习题。本书文字通俗易懂,内容由浅入深,讲解突出重点,全书偏重应用。

第1章 C++语言概述 1

1.1 面向对象语言简介 1

1.1.1 面向对象的概念 1

1.1.2 编程语言的发展 2

1.1.3 面向对象语言的特点 3

1.2 C语言与C++语言的关系 4

1.2.1 C++语言对C语言的改进 4

1.2.2 C++语言对面向对象方法的支持 5

1.3 C++语言的词法和词法规则 5

1.3.1 C++语言的字符集 5

1.3.2 单词及词法规则 5

1.4 C++程序结构上的特点 7

1.4.1 C++程序的两个实例 7

1.4.2 C++程序结构特点 8

1.4.3 C++程序的书写格式 9

1.5 C++程序的实现 9

1.5.1 C++程序的编辑、编译和运行 9

1.5.2 Visual C++6.0编译系统的用法简介 11

1.6 上机练习指导 14

习题1 17

第2章 变量和常量 20

2.1 数据类型 20

2.1.1 基本数据类型 20

2.1.2 自定义数据类型 21

2.2 变量 21

2.2.1 变量的名字 21

2.2.2 变量的类型 22

2.2.3 变量的值 22

2.3 常量 23

2.3.1 整型常量 23

2.3.2 浮点型常量 24

2.3.3 字符型常量 24

2.3.4 字符串常量 25

2.3.5 枚举常量 26

2.3.6 常量的定义格式 28

2.4 数组 28

2.4.1 数组的定义格式 29

2.4.2 数组元素的表示 29

2.4.3 数组的赋值 30

2.4.4 字符数组 31

2.5 键盘输入和屏幕输出 33

2.5.1 键盘输入 33

2.5.2 屏幕输出 34

2.6 上机练习指导 36

习题2 39

第3章 运算符和表达式 42

3.1 运算符的种类及其功能 42

3.1.1 算术运算符 42

3.1.2 关系运算符 43

3.1.3 逻辑运算符 43

3.1.4 位操作运算符 44

3.1.5 赋值运算符 44

3.1.6 其他运算符 45

3.2 运算符的优先级和结合性 47

3.2.1 运算符的优先级 47

3.2.2 运算符的结合性 48

3.3 表达式 49

3.3.1 表达式的种类 49

3.3.2 表达式的值和类型 50

3.4 类型转换 56

3.4.1 保值的隐式转换 56

3.4.2 强制转换 56

3.5 类型定义 57

3.6 上机练习指导 58

习题3 61

第4章 语句和预处理 64

4.1 表达式语句和复合语句 64

4.1.1 表达式语句和空语句 64

4.1.2 复合语句和分程序 65

4.2 选择语句 65

4.2.1 条件语句 65

4.2.2 开关语句 68

4.3 循环语句 72

4.3.1 while循环语句 72

4.3.2 do-while循环语句 73

4.3.3 for循环语句 74

4.3.4 多重循环 77

4.4 转向语句 80

4.4.1 goto语句 80

4.4.2 break语句 81

4.4.3 continue语句 82

4.5 预处理功能 82

4.5.1 宏定义命令 83

4.5.2 文件包含命令 85

4.5.3 条件编译命令 86

4.6 上机练习指导 88

习题4 93

第5章 函数和存储类 99

5.1 函数的定义和说明 99

5.1.1 函数的定义格式 100

5.1.2 函数的说明方法 101

5.2 函数的参数和返回值 102

5.2.1 函数参数的求值顺序 102

5.2.2 设置函数参数的默认值 102

5.2.3 函数的返回值 104

5.3 函数的调用方式 105

5.3.1 函数的传值调用 105

5.3.2 函数的引用调用 106

5.4 函数的嵌套调用和递归调用 106

5.4.1 函数的嵌套调用 106

5.4.2 函数的递归调用 108

5.5 内联函数和重载函数 111

5.5.1 内联函数 111

5.5.2 重载函数 113

5.6 标识符的作用域 115

5.6.1 作用域规则 115

5.6.2 作用域种类 116

5.6.3 关于重新定义标识符的作用域规定 116

5.7 变量的存储类 118

5.7.1 自动类变量和寄存器类变量 118

5.7.2 外部类变量 119

5.7.3 静态类变量 120

5.8 函数的存储类 123

5.8.1 内部函数 123

5.8.2 外部函数 125

5.9 上机练习指导 126

习题5 134

第6章 指针与引用 140

6.1 指针 140

6.1.1 指针的概念 140

6.1.2 指针定义格式 141

6.1.3 指针的赋值 142

6.1.4 指针的运算 142

6.2 指针与数组 145

6.2.1 数组名是一个常量指针 145

6.2.2 数组元素的指针表示 145

6.2.3 字符数组、字符指针和字符串处理函数 148

6.2.4 指向数组的指针和指针数组 152

6.3 指针与函数 154

6.3.1 指针用作函数参数 154

6.3.2 指向函数的指针和指针函数 155

6.4 引用 157

6.4.1 引用的概念 157

6.4.2 引用的应用 159

6.5 上机练习指导 163

习题6 170

第7章 结构和联合 176

7.1 结构 176

7.1.1 结构和结构变量的定义 176

7.1.2 结构变量成员的表示 178

7.1.3 结构变量的赋值 178

7.1.4 结构变量的运算 179

7.2 结构与数组 180

7.2.1 数组作为结构成员 181

7.2.2 结构变量作为数组元素 181

7.3 结构与函数 184

7.3.1 结构变量和指向结构变量的指针作为函数参数 184

7.3.2 结构变量和指向结构变量的指针作为函数返回值 187

7.4 联合 188

7.4.1 联合的概念 188

7.4.2 联合的应用 191

7.5 上机练习指导 194

习题7 196

第8章 类和简单对象 201

8.1 类的定义 201

8.1.1 类的概念 201

8.1.2 类的定义格式 201

8.1.3 类定义举例 204

8.2 对象的定义和成员表示 205

8.2.1 对象的定义格式 205

8.2.2 对象的成员表示 206

8.3 构造函数和析构函数 208

8.3.1 构造函数和析构函数的特点及功能 208

8.3.2 拷贝构造函数和默认拷贝构造函数 210

8.3.3 拷贝构造函数的其他用处 212

8.4 成员函数的特征 214

8.4.1 内联函数和外联函数 214

8.4.2 成员函数的重载性 215

8.4.3 成员函数可以设置参数默认值 216

8.5 静态成员 217

8.5.1 静态数据成员 218

8.5.2 静态成员函数 220

8.6 常成员 221

8.6.1 常数据成员 221

8.6.2 常成员函数 223

8.7 指向成员的指针 224

8.7.1 指向数据成员的指针 224

8.7.2 指向成员函数的指针 224

8.8 友元函数和友元类 226

8.8.1 友元函数 226

8.8.2 友元类 227

8.9 上机练习指导 229

习题8 234

第9章 复杂对象 243

9.1 对象指针和对象引用 243

9.1.1 指向对象的指针和对象引用 243

9.1.2 this指针 245

9.2 对象数组和对象指针数组 246

9.2.1 对象数组 247

9.2.2 指向对象数组的指针 248

9.2.3 对象指针数组 250

9.3 常对象 251

9.3.1 一般常量 251

9.3.2 常对象 252

9.4 子对象和堆对象 254

9.4.1 子对象 254

9.4.2 堆对象 256

9.5 类型转换和转换函数 262

9.5.1 类型的隐含转换 262

9.5.2 构造函数的类型转换功能 262

9.5.3 类型转换函数 264

9.6 类作用域和对象的生存期 265

9.6.1 类作用域 265

9.6.2 对象的生存期 265

9.6.3 局部类和嵌套类 267

9.7 类和对象的应用实例 270

9.8 上机练习指导 275

习题9 281

第10章 继承性和派生类 289

10.1 基类和派生类 289

10.1.1 派生类的定义格式 290

10.1.2 继承的3种方式 291

10.1.3 基类与派生类的关系 294

10.2 单继承 295

10.2.1 派生类对基类成员的访问权限 295

10.2.2 派生类的构造函数和析构函数 299

10.2.3 子类型和赋值兼容规则 304

10.3 多继承 307

10.3.1 多继承的概念 307

10.3.2 多继承派生类的构造函数 308

10.3.3 多继承中的二义性问题 311

10.4 虚基类 315

10.4.1 虚基类的概念 316

10.4.2 虚基类及其派生类的构造函数 317

10.5 应用实例 318

10.6 上机练习指导 321

习题10 327

第11章 多态性和虚函数 335

11.1 函数重载 335

11.2 运算符重载 337

11.2.1 运算符重载中的几个问题 337

11.2.2 运算符重载函数的两种形式 338

11.2.3 其他运算符重载举例 343

11.3 静态联编和动态联编 347

11.3.1 静态联编 347

11.3.2 动态联编 348

11.4 虚函数 348

11.5 纯虚函数和抽象类 355

11.5.1 纯虚函数 355

11.5.2 抽象类 356

11.6 虚析构函数 361

11.7 上机练习指导 362

习题11 371

第12章 模板 377

12.1 模板的概念 377

12.1.1 什么是模板 377

12.1.2 为什么引进模板 377

12.2 函数模板 379

12.2.1 函数模板的定义格式 379

12.2.2 函数模板的应用举例 380

12.3 类模板 383

12.3.1 类模板的定义格式 383

12.3.2 类模板的应用举例 384

12.4 类模板的应用 390

12.4.1 类模板的对象或引用作为函数参数 390

12.4.2 类模板用作基类 391

12.5 上机练习指导 398

习题12 403

第13章 C++语言的I/O流类库 408

13.1 屏幕输出操作 410

13.1.1 使用预定义的插入符 410

13.1.2 使用成员函数put()输出一个字符 412

13.1.3 使用成员函数write()输出一个字符串 413

13.2 键盘输入操作 414

13.2.1 使用预定义的提取符 414

13.2.2 使用成员函数get()获取一个字符 415

13.2.3 使用成员函数getline()获取一行字符 416

13.2.4 使用成员函数read()读取多行字符 417

13.3 格式化输入和输出 418

13.3.1 使用流对象的成员函数进行格式输出 418

13.3.2 使用控制符进行格式输出 421

13.4 插入符和提取符的重载 423

13.5.2 文本文件的读/写操作 426

13.5.3 二进制文件的读/写操作 429

13.5.4 随机访问数据文件 431

13.5.5 文件操作的其他函数 434

13.6 字符串流 437

13.6.1 ostrstream类的构造函数 437

13.6.2 istrstream类的构造函数 439

13.7 流错误的处理 440

13.7.1 状态字和状态函数 440

13.7.2 清除/设置流状态位 441

13.8 上机练习指导 441

习题13 443

附录A Visual C++6.O编译系统部分功能介绍 446

A.1 VisualC++6.0主界面 446

A.2 C++单文件应用程序的实现 456

A.3 C++多文件应用程序的实现 457