书籍详情
C++大学自学教程
作者:(美)Al Stevens著;林瑶[等]译
出版社:电子工业出版社
出版时间:2004-01-01
ISBN:9787505392601
定价:¥69.00
购买这本书可以去
内容简介
本书为您制定了直接跟随程序设计专家和导师学生的计划。这本全面升级的教科书,为每个课程提供了完整的运行程序。所有的代码和示例都是最新的,与C++编译器的最近更新完全符合,所有课程被完全集成到光盘上基于Windows的集成开发环境中。本书是一本可供读者自学C++语言的指导用书。C++自1980年问世以来,已发展成在世界范围有广泛影响的面向对象的语言。全书有五个部分,共40章。第1部分介绍C++语言的基本元素。第2部分讲解C++类机制,这是大多数标准C++库的实现都用到的一种语言特性,也是支持用户进行面向对象程序开发的机制。第三部分详细介绍标准C++库的组成部分,包括从C语言继承的标准C库函数和标准的C++字符串类、复数类、I/O流类等。第四部分介绍实现通用容器、算法和迭代器的标准模板库,读者将学习如何进行通用编程。第五部分讨论标准C++支持的高级特性,包括异常处理、名字空间、类型强制转换、运行时类型信息、区域表示等。本书所带光盘提供了Quincy2002集成开发环境和本书程序示例的所有源代码,读者可通过装入并运行示例加深对本书内容的理解。本书自成体系、叙述?蚪唷⑸钊肭吵觯茄巴暾腃++语言的优秀读物。本书适合希望使用C++进行编程的程序员,也可供面向对象程序设计的研究、开发人员参考。作者简介AlStevens是一位备受尊敬的作家和教师。自1988年以来,AlStevens一直为一流程序员杂志《Dr.Dobb''''sJournal》的“C语言程序设计”专栏撰写文章。他在教授复杂编程语言方面极负盛名。《C++大学自学教程》一书前几版的销量都超过了10万册。
作者简介
暂缺《C++大学自学教程》作者简介
目录
第1部分 C++语言
第1章 C++程序设计概述
1.1 C++简史
1.2 C++介绍
1.3 小结
第2章 编写简单C++程序
2.1 第一个程序
2.2 标识符
2.3 关键字
2.4 标准输出流
2.5 变量
2.6 常量
2.7 表达式
2.8 赋值
2.9 以逗号分隔的声明
2.10 表达式中的运算符
2.11 结合性和优先级
2.12 表达式何时不被求值
2.13 初始式
2.14 类型转换
2.15 控制台输入/输出
2.16 一个问题
2.17 小结
第3章 函数
3.1 再论main函数
3.2 实参与形参
3.3 用原型声明函数
3.4 定义和调用函数
3.5 函数返回
3.6 函数返回值
3.7 实参的传递和使用
3.8 未命名的函数形参
3.9 默认函灵敏实参
3.10 内联函数
3.11 递归
3.12 函数重载
3.13 小结
第4章 程序流程控制
4.1 语句块
4.2 条件测试
4.3 循环迭代
4.4 循环控制
4.5 跳转语句
4.6 小结
第5章 C++数据类型结构
5.1 作用域
5.2 存储类
5.3 初始默认值
5.4 类型限定词
5.5 程序存储器体系结构
5.6 小结
第6章 结构和联合
6.1 结构
6.2 联合
6.3 面向对象程序设计浅析
6.4 类
6.5 小结
第7章 C++数据进阶
7.1 枚举常量
7.2 类型强制转换
7.3 数组
7.4 sizeof运算符
7.5 typedef描述符
7.6 小结
第8章 指针、地址和动态存储器
8.1 指针和地址
8.2 堆的动态存储器分配
8.3 小结
第9章 引用变量
9.1 引用即别名
9.2 引用初始化
9.3 简化复杂表示法的引用
9.4 引用做函数形参
9.5 引用调用
9.6 const型引用形参
9.7 返回对自动变量的引用
9.8 const型返回引用
9.9 返回对自动变量的引用
9.10 指针与引用
9.11 小结
第10章 递归
10.1 递归函数
10.2 简单递归举例
10.3 递归下降计算器
10.4 递归的取舍
10.5 小结
第11章 预处理器
11.1 预处理指令
11.2 包含文件
11.3 宏
11.4 编译期条件指令
11.5 其他标准指令
11.6 深入#include指令
11.7 小结
第12章 函数模板
12.1 函数模板基础
12.2 函数模板专门化
12.3 用模板排序
12.4 小结
第13章 程序组织结构
13.1 程序的组成
13.2 安全类型链接
13.3 链接说明
13.4 argc和argv命令行实参
13.5 标准输入/输出重定向
13.6 打印报告
13.7 小结
第2部分 使用类
第14章 C++类
14.1 类声明
14.2 类成员
14.3 访问说明符: 类成员的可见性
14.4 结构和类的对比
14.5 数据成员
14.6 初始化
14.7 成员函数
14.8 面向对象类的设计
14.9 类对象的作用域和生存期
14.10 内联函数
14.11 小结
第15章 构造函数和析构函数
15.1 构造函数
15.2 析构函数
15.3 小结
第16章 转换
16.1 类转换
16.2 转换函数
16.3 转换类对象
16.4 调用转换函数
16.5 发生转换的上下文
16.6 显式构造函数
16.7 表达式内部的转换
16.8 小结
第17章 类对象数组
17.1 数组中的类对象
17.2 类对象数组和默认构造函数
17.3 类对象数组和析构函数
17.4 小结
第18章 类成员
18.1 this指针
18.2 操纵私用数据成员
18.3 static成员
18.4 小议const
18.5 mutable数据成员
18.6 引用数据成员
18.7 小结
第19章 友元
19.1 友元类
19.2 隐含构造
19.3 前向引用
19.4 显式友元前向引用
19.5 友元函数
19.6 非成员友元函数
19.7 小结
第20章 类和堆
20.1 构造函数和new,析构函数和delete
20.2 堆和类数组
20.3 重载类的new和delete运算符
20.4 测试异常
20.5 重载new和delete异常
20.6 生载类的new数组和delete数组
20.7 小结
第21章 重载运算符
21.1 重载与否
21.2 重载运算符的情况
21.3 重载运算符的规则
21.4 重载赋值运算符
21.5 二元算术运算符
21.6 关系运算符
21.7 其他赋值运算符
21.8 自动增量和自动减量
21.9 一元加、减运算符
21.10 下标运算符
21.11 成员指针运算符
21.12 小结
第22章 类库
22.1 对象与目标
22.2 组织和构建对象库
22.3 链接对象库
22.4 对象库的
22.5 库头文件
22.6 类模板库
22.7 小结
第23章 类的继承
23.1 类继承
23.2 专门化的数据抽象类设计
23.3 问题域类层次结构的设计
23.4 Person: 基类
23.5 派生类
23.6 建立对象库
23.7 使用问题域类层次结构
23.8 虚函数
23.9 虚析构函数
23.10 多态
23.11 小结
第24章 多重继承
24.1 多个基类
24.2 完善财产系统的设计
24.3 用多重继承覆盖成员
24.4 多重继承覆盖成员
24.5 虚基类
24.6 实现设计
24.7 练习
24.8 小结
第25章 类模板
25.1 类模板的基础知识
25.2 声明多个类模板对象
25.3 调用类模板成员函数
25.4 声明多个形参
25.5 重载运算符模板函数
25.6 默认实参值
25.7 有界数组的类模板
25.8 何时使用类模板
25.9 模板的专门化
25.10 默认类型的形参
25.11 关键字typename
25.12 类模板和抽象
25.13 小结
第3部分 使用类
第26章 标准C库函数
26.1 <cassert>头文件
26.2 <cctype>头文件
26.3 <cerrno>头文件
26.4 <cmath>头文件
26.5 <csetjmp>头文件
26.6 <cstdarg>头文件
26.7 <cstdio>头文件
26.8 <cstdlib>头文件
26.9 <cstring>头文件
26.10 <ctime>头文件
26.11 小结
第27章 标准C++库
27.1 字符串和IOStream模板
27.2 std::string类
27.3 IOStream类
27.4 std::complex类
27.5 小结
第28章 格式化IOStream和stringstream类
28.1 IOStream
28.2 格式化输出
28.3 操纵符、标记和成员函数
28.4 std::stringstream类
28.5 小结
第29章 文件I/O流
29.1 文件流对象
29.2 打开模式
29.3 二进制和文本文件流
29.4 std::ofstream类
29.5 文件流成员函数
29.6 std::ifstream类
29.7 读到文件尾
29.8 在文件中查找
29.9 读/写流文件的std::fstream类
29.10 文件和流的关联和分离
29.11 输入/输出的变化
29.12 测试错误
29.13 删除文件
29.14 小结
第4部分 标准模板库
第30章 STL简介
30.1 为什么需要STL
30.2 STL编程模型
30.3 序列
30.4 容器适配器
30.5 结合容器
30.6 迭代器
30.7 算法
30.8 谓词
30.9 分配器
30.10 小结
第31章 STL序列容器
31.1 序列容器
31.2 vector类模板
31.3 deque类模板
31.4 链表类模板
31.5 std::stack容器适配器
31.6 std::queue容器适配器
31.7 std::priority_queue容器适配器
31.8 小结
第32章 结合容器
32.1 结合容器
32.2 std::set类模板
32.3 std::multiset类模板
32.4 std::map类模板
32.5 std::multimap类模板
32.6 std::bitset类模板
32.7 用户自定义谓词
32.8 小结
第33章 通用算法
33.1 通用算法简介
33.2 非修改算法
33.3 变异算法
33.4 排序算法
33.5 数值算法
33.6 小结
第34章 迭代器
34.1 迭代器简介
34.2 输入迭代器
34.3 输出迭代器
34.4 前向迭代器
34.5 双向迭代器
34.6 随机访问迭代器
34.7 特殊用途迭代器
34.8 小结
第5部分 高级问题
第35章 异常处理
35.1 C的异常处理
35.2 C++的异常处理
35.3 全数捕捉异常处理函数
35.4 从处理函数中抛出异常
35.5 未捕捉的异常
35.6 在多个抛出的异常中选择
35.7 异常和未释放的资源
35.8 改进的计算器程序
35.9 标准异常
35.10 std::exception::what成员函数
35.11 异常说明
35.12 未预料到的异常
35.13 小结
第36章 名字空间
36.1 名字空间的问题
36.2 名字空间简介
36.3 引用名字空间的成员
36.4 using namespace语句
36.5 定义名字空间
36.6 嵌套的名字空间
36.7 未命名的名字空间
36.8 名字空间的别名
36.9 Koenig查找
36.10 小结
第37章 C++类型强制转换
37.1 C++类型强制转换
37.2 dynamic_cast运算符
37.3 static_cast运算符
37.4 reinterpret_cast运算符
37.5 const_cast运算符
37.6 小结
第38章 运行时类型信息
38.1 typeid运算符
38.2 type_info类
38.3 用RTTI编程
38.4 RTTI的用法
38.5 小结
第39章 区域表示
39.1 国际化元素
39.2 std::locale类
39.3 创建区域表示对象
39.4 创建混合的区域表示
39.5 流和区域表示
39.6 处理刻面
39.7 小结
第40章 面向对象程序设计
40.1 对象和C++程序员
40.2 基础知识
40.3 过程化程序设计
40.4 面向对象程序设计
40.5 小结
附录A 库清单
附录B 光盘内容
附录C Quincy 2002用户指南
附录D C++对照表
附录E 参考书目
词汇表
第1章 C++程序设计概述
1.1 C++简史
1.2 C++介绍
1.3 小结
第2章 编写简单C++程序
2.1 第一个程序
2.2 标识符
2.3 关键字
2.4 标准输出流
2.5 变量
2.6 常量
2.7 表达式
2.8 赋值
2.9 以逗号分隔的声明
2.10 表达式中的运算符
2.11 结合性和优先级
2.12 表达式何时不被求值
2.13 初始式
2.14 类型转换
2.15 控制台输入/输出
2.16 一个问题
2.17 小结
第3章 函数
3.1 再论main函数
3.2 实参与形参
3.3 用原型声明函数
3.4 定义和调用函数
3.5 函数返回
3.6 函数返回值
3.7 实参的传递和使用
3.8 未命名的函数形参
3.9 默认函灵敏实参
3.10 内联函数
3.11 递归
3.12 函数重载
3.13 小结
第4章 程序流程控制
4.1 语句块
4.2 条件测试
4.3 循环迭代
4.4 循环控制
4.5 跳转语句
4.6 小结
第5章 C++数据类型结构
5.1 作用域
5.2 存储类
5.3 初始默认值
5.4 类型限定词
5.5 程序存储器体系结构
5.6 小结
第6章 结构和联合
6.1 结构
6.2 联合
6.3 面向对象程序设计浅析
6.4 类
6.5 小结
第7章 C++数据进阶
7.1 枚举常量
7.2 类型强制转换
7.3 数组
7.4 sizeof运算符
7.5 typedef描述符
7.6 小结
第8章 指针、地址和动态存储器
8.1 指针和地址
8.2 堆的动态存储器分配
8.3 小结
第9章 引用变量
9.1 引用即别名
9.2 引用初始化
9.3 简化复杂表示法的引用
9.4 引用做函数形参
9.5 引用调用
9.6 const型引用形参
9.7 返回对自动变量的引用
9.8 const型返回引用
9.9 返回对自动变量的引用
9.10 指针与引用
9.11 小结
第10章 递归
10.1 递归函数
10.2 简单递归举例
10.3 递归下降计算器
10.4 递归的取舍
10.5 小结
第11章 预处理器
11.1 预处理指令
11.2 包含文件
11.3 宏
11.4 编译期条件指令
11.5 其他标准指令
11.6 深入#include指令
11.7 小结
第12章 函数模板
12.1 函数模板基础
12.2 函数模板专门化
12.3 用模板排序
12.4 小结
第13章 程序组织结构
13.1 程序的组成
13.2 安全类型链接
13.3 链接说明
13.4 argc和argv命令行实参
13.5 标准输入/输出重定向
13.6 打印报告
13.7 小结
第2部分 使用类
第14章 C++类
14.1 类声明
14.2 类成员
14.3 访问说明符: 类成员的可见性
14.4 结构和类的对比
14.5 数据成员
14.6 初始化
14.7 成员函数
14.8 面向对象类的设计
14.9 类对象的作用域和生存期
14.10 内联函数
14.11 小结
第15章 构造函数和析构函数
15.1 构造函数
15.2 析构函数
15.3 小结
第16章 转换
16.1 类转换
16.2 转换函数
16.3 转换类对象
16.4 调用转换函数
16.5 发生转换的上下文
16.6 显式构造函数
16.7 表达式内部的转换
16.8 小结
第17章 类对象数组
17.1 数组中的类对象
17.2 类对象数组和默认构造函数
17.3 类对象数组和析构函数
17.4 小结
第18章 类成员
18.1 this指针
18.2 操纵私用数据成员
18.3 static成员
18.4 小议const
18.5 mutable数据成员
18.6 引用数据成员
18.7 小结
第19章 友元
19.1 友元类
19.2 隐含构造
19.3 前向引用
19.4 显式友元前向引用
19.5 友元函数
19.6 非成员友元函数
19.7 小结
第20章 类和堆
20.1 构造函数和new,析构函数和delete
20.2 堆和类数组
20.3 重载类的new和delete运算符
20.4 测试异常
20.5 重载new和delete异常
20.6 生载类的new数组和delete数组
20.7 小结
第21章 重载运算符
21.1 重载与否
21.2 重载运算符的情况
21.3 重载运算符的规则
21.4 重载赋值运算符
21.5 二元算术运算符
21.6 关系运算符
21.7 其他赋值运算符
21.8 自动增量和自动减量
21.9 一元加、减运算符
21.10 下标运算符
21.11 成员指针运算符
21.12 小结
第22章 类库
22.1 对象与目标
22.2 组织和构建对象库
22.3 链接对象库
22.4 对象库的
22.5 库头文件
22.6 类模板库
22.7 小结
第23章 类的继承
23.1 类继承
23.2 专门化的数据抽象类设计
23.3 问题域类层次结构的设计
23.4 Person: 基类
23.5 派生类
23.6 建立对象库
23.7 使用问题域类层次结构
23.8 虚函数
23.9 虚析构函数
23.10 多态
23.11 小结
第24章 多重继承
24.1 多个基类
24.2 完善财产系统的设计
24.3 用多重继承覆盖成员
24.4 多重继承覆盖成员
24.5 虚基类
24.6 实现设计
24.7 练习
24.8 小结
第25章 类模板
25.1 类模板的基础知识
25.2 声明多个类模板对象
25.3 调用类模板成员函数
25.4 声明多个形参
25.5 重载运算符模板函数
25.6 默认实参值
25.7 有界数组的类模板
25.8 何时使用类模板
25.9 模板的专门化
25.10 默认类型的形参
25.11 关键字typename
25.12 类模板和抽象
25.13 小结
第3部分 使用类
第26章 标准C库函数
26.1 <cassert>头文件
26.2 <cctype>头文件
26.3 <cerrno>头文件
26.4 <cmath>头文件
26.5 <csetjmp>头文件
26.6 <cstdarg>头文件
26.7 <cstdio>头文件
26.8 <cstdlib>头文件
26.9 <cstring>头文件
26.10 <ctime>头文件
26.11 小结
第27章 标准C++库
27.1 字符串和IOStream模板
27.2 std::string类
27.3 IOStream类
27.4 std::complex类
27.5 小结
第28章 格式化IOStream和stringstream类
28.1 IOStream
28.2 格式化输出
28.3 操纵符、标记和成员函数
28.4 std::stringstream类
28.5 小结
第29章 文件I/O流
29.1 文件流对象
29.2 打开模式
29.3 二进制和文本文件流
29.4 std::ofstream类
29.5 文件流成员函数
29.6 std::ifstream类
29.7 读到文件尾
29.8 在文件中查找
29.9 读/写流文件的std::fstream类
29.10 文件和流的关联和分离
29.11 输入/输出的变化
29.12 测试错误
29.13 删除文件
29.14 小结
第4部分 标准模板库
第30章 STL简介
30.1 为什么需要STL
30.2 STL编程模型
30.3 序列
30.4 容器适配器
30.5 结合容器
30.6 迭代器
30.7 算法
30.8 谓词
30.9 分配器
30.10 小结
第31章 STL序列容器
31.1 序列容器
31.2 vector类模板
31.3 deque类模板
31.4 链表类模板
31.5 std::stack容器适配器
31.6 std::queue容器适配器
31.7 std::priority_queue容器适配器
31.8 小结
第32章 结合容器
32.1 结合容器
32.2 std::set类模板
32.3 std::multiset类模板
32.4 std::map类模板
32.5 std::multimap类模板
32.6 std::bitset类模板
32.7 用户自定义谓词
32.8 小结
第33章 通用算法
33.1 通用算法简介
33.2 非修改算法
33.3 变异算法
33.4 排序算法
33.5 数值算法
33.6 小结
第34章 迭代器
34.1 迭代器简介
34.2 输入迭代器
34.3 输出迭代器
34.4 前向迭代器
34.5 双向迭代器
34.6 随机访问迭代器
34.7 特殊用途迭代器
34.8 小结
第5部分 高级问题
第35章 异常处理
35.1 C的异常处理
35.2 C++的异常处理
35.3 全数捕捉异常处理函数
35.4 从处理函数中抛出异常
35.5 未捕捉的异常
35.6 在多个抛出的异常中选择
35.7 异常和未释放的资源
35.8 改进的计算器程序
35.9 标准异常
35.10 std::exception::what成员函数
35.11 异常说明
35.12 未预料到的异常
35.13 小结
第36章 名字空间
36.1 名字空间的问题
36.2 名字空间简介
36.3 引用名字空间的成员
36.4 using namespace语句
36.5 定义名字空间
36.6 嵌套的名字空间
36.7 未命名的名字空间
36.8 名字空间的别名
36.9 Koenig查找
36.10 小结
第37章 C++类型强制转换
37.1 C++类型强制转换
37.2 dynamic_cast运算符
37.3 static_cast运算符
37.4 reinterpret_cast运算符
37.5 const_cast运算符
37.6 小结
第38章 运行时类型信息
38.1 typeid运算符
38.2 type_info类
38.3 用RTTI编程
38.4 RTTI的用法
38.5 小结
第39章 区域表示
39.1 国际化元素
39.2 std::locale类
39.3 创建区域表示对象
39.4 创建混合的区域表示
39.5 流和区域表示
39.6 处理刻面
39.7 小结
第40章 面向对象程序设计
40.1 对象和C++程序员
40.2 基础知识
40.3 过程化程序设计
40.4 面向对象程序设计
40.5 小结
附录A 库清单
附录B 光盘内容
附录C Quincy 2002用户指南
附录D C++对照表
附录E 参考书目
词汇表
猜您喜欢