
作者:白乔编著
ISBN:10位[712105227X]13位[9787121052279]
出版社:电子工业出版社
出版日期:2007-12-1
定价:¥49.80元
内容提要本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。
本书从最基础的编程语言概念讲起,共分6篇24章。前4篇完整地介绍C++的基础语法知识,包括C++快速浏览、C++数据表达、C++过程设计和C++面向对象编程(OOP)。后2篇介绍C++的高级特性,如模板、异常、名字空间、RTTI等知识,以及编程实践中要用到的C++标准库、STL容器、泛型算法等应用性内容,结合实践指南展开讨论,并在最后根据一个具体的编程实例演示了C++知识点的综合运用。
本书具有由浅入深、通俗易懂和注重实践等特点,适合于没有或者缺乏C++程序设计经验的初学者作为标准C++语言的自学教材,同时也适合于已掌握C++基础编程技术、需要提高C++实践能力以及对标准C++语言感兴趣的程序员进行阅读。
编辑推荐“C/C++开发专家”引导你成为真正的程序员
由浅入深,能俗易懂,注重趣味性,避免枯燥说教
案例为主,内容生动,强调实践性,编程实例丰富
理念先进,方法为要,突出多角度,倡导正确思想
全面介绍C++国际性标准版本
详细介绍C++标准库以及STL、泛型算法
所有代码可在VC2003和DveC++4.9中编译运行
代码先行,书中提供了详细的示例代码和详解。
目录第1篇C++快速浏览
第1章了解C++语言
1.1编程语言
1.1.1机器语言
1.1.2汇编语言
1.1.3高级语言
1.2C++发展简史
1.3C++开发环境
1.3.1C++编译器
1.3.2C++标准与编译器
1.3.3C++开发环境
1.3.4开发环境的选择
第2章计算机的数值表示
2.1进制系统
2.1.1十进制
2.1.2二进制
2.1.3八进制和十六进制
2.2数值的表示
2.2.1整数的表示
2.2.2负数的表示
2.2.3整数的表示范围
2.2.4浮点数的表示
2.2.5观察数值的二进制表示*
2.3字符的表示
2.3.1ASCII码
2.3.2汉字的编码
2.3.3UNICODE编码
2.3.4观察字符的二进制表示*
2.3.5字符与字体
2.3.6键盘与输入法
第3章初识C++程序
3.1开始C++编程
3.1.1C++程序的开发流程
3.1.2文件与工程(项目)
3.2在Dev-C++中开发HelloWorld
3.2.1编辑HelloWorld
3.2.2编译连接HelloWorld
3.2.3运行HelloWorld
3.3在VC2003中开发HelloWorld
3.3.1编辑HelloWorld
3.3.2编译连接HelloWorld
3.3.3运行HelloWorld
3.4可能遇到的问题
3.5.1main函数
3.5.2函数
3.5.3对象
3.5.4头文件
3.5.5名字空间
3.5.6标准输入输出
3.5.7编译器的行为
3.5理解HelloWorld
第2篇C++数据表达
第4章C++基础语法
4.1理解c=2?r
4.2注释
4.3标识符
4.3.1命名规则
4.3.2关键字
4.4数与类型
4.5基本类型
4.5.1整型
4.5.2浮点型
4.5.3布尔型
4.5.4字符型
4.5.5基本类型的字节长度*
4.6字面常量
4.6.1整型常量
4.6.2浮点型常量
4.6.3布尔型常量
4.6.4字符型常量
4.6.5字符串常量
4.6.6字面常量的类型*
4.6.7变量
4.7语句
4.7.1表达式
4.7.2语句
4.7.3声明语句
4.7.4赋值语句
4.7.5初始化语句
4.7.6使用调试器观察变量值*
4.8操作符
4.8.1赋值操作符
4.8.2算术操作符
4.8.3关系操作符
4.8.4逻辑操作符
4.8.5条件操作符
4.8.6位操作符
4.8.7观察二进制位操作*
4.8.8复合赋值操作符
4.8.9逗号操作符
4.8.10sizeof操作符
4.8.11typeid操作符
4.8.12操作符的优先级
4.9类型转换
4.9.1隐式转换
4.9.2显式转换
4.9.3算术转换*
第5章数组与字符串
5.1数组
5.1.1数组的概念
5.1.2内存中的数组*
5.1.3数组的初始化
5.1.4数组元素的访问
5.1.5安全使用数组下标*
5.1.6多维数组
5.2字符串
5.2.1传统的字符串
5.2.2安全的使用字符串*
5.2.3std::string
第6章指针与引用
6.1指针
6.1.1指针的概念
6.1.2取址操作符
6.1.3取值操作符
6.1.4深入理解指针*
6.1.5指针的比较
6.1.6指针的加减
6.1.7理解指针的运算*
6.1.8数组与指针
6.1.9指针的指针
6.1.10指针数组
6.2引用
6.2.1引用的概念
6.2.2理解引用*
6.3动态内存分配
6.3.1new
6.3.2delete
6.3.3数组的内存分配
第7章自定义数据类型
7.1结构
7.1.1结构的定义
7.1.2定义结构变量
7.1.3结构的数据成员
7.1.4结构成员的引用
7.1.5结构的初始化
7.1.6位域
7.2联合
7.2.1联合的定义
7.2.2使用联合
7.3枚举
7.3.1枚举定义
7.3.2枚举与int
7.4typedef
7.5数据类型修饰符
7.5.1const
7.5.2volatile
第3篇C++过程设计
第8章C++流程控制
8.1判断
8.1.1if
8.1.2语句块*
8.1.3if…else
8.1.4if…elseif…else
8.1.5流程图*
8.2分支
8.3循环
8.3.1while
8.3.2do…while
8.3.3for
8.4跳转语句
8.4.1嵌套循环
8.4.2使用break中止循环
8.4.3使用break中止分支
8.4.4continue
8.4.5goto
8.4.6合理使用goto语句*
第9章C++函数
9.1函数
9.1.1函数
9.1.2函数调用
9.1.3使用调试器观察函数的调用*
9.1.4函数参数
9.1.5返回值
9.2函数原型
9.2.1函数原型(functionprototype)
9.2.2main()函数
9.2.3定义带参数的main()函数*
9.2.4默认参数
9.2.5可变参数*
9.2.6内联函数
9.3函数重载
9.3.1函数的重载
9.3.2重载函数的调用
9.3.3安全连接
9.3.4名字重组*
9.4递归函数
9.4.1递归函数
9.4.2使用调试器观察函数的递归调用*
9.5函数与指针
9.5.1指向函数的指针
9.5.2理解函数指针*
9.5.3函数与值传递
第10章预处理
10.1预处理指令
10.2宏指令
10.2.1宏
10.2.2带参数的宏
10.2.3宏与常量、函数*
10.2.4#操作符
10.2.5##操作符
10.2.6取消宏
10.2.7C++预定义宏
10.3条件编译指令
10.3.1#if…#endif
10.3.2#else
10.3.3#elif
10.3.4#ifdefined和#if!defined
10.3.5#ifdef和#ifndef
10.4文件包含指令
10.4.1#include
10.4.2合理使用头文件
10.5其他标准指令
10.5.1#error
10.5.2#line
10.5.3#pragma
第4篇C++面向对象编程
第11章C++的类
11.1类与对象
11.1.1对象
11.1.2类
11.2类的设计
11.2.1类的定义
11.2.2对象的定义
11.2.3数据成员的访问
11.2.4成员访问控制
11.2.5成员函数
11.2.6内联成员函数
11.2.7成员函数的重载
11.2.8this指针
11.2.9内存中的类*
11.3类的讨论
11.3.1类与结构
11.3.2抽象性
11.3.3封装性
11.4类的组合
11.4.1使用类的组合
11.4.2类的声明
第12章类的特殊函数
12.1构造函数
12.1.1构造函数(constructor)
12.1.2带参数的构造函数
12.1.3初始值列表
12.2成员初始值列表
12.2.1使用成员初始值列表
12.2.2对象成员初始化
12.3析构函数
12.3.1析构函数的定义
12.3.2对象成员的构造与析构*
12.4特殊构造函数
12.4.1转换构造函数
12.4.2explicit
12.4.3拷贝构造函数
12.5操作符函数
12.5.1操作符重载
12.5.2一元操作符重载
12.5.3二元操作符重载
12.5.4全局操作符的重载
12.5.5可重载的操作符
12.5.6类型转换函数
12.6const与mutable
12.6.1const
12.6.2mutable
12.7友元
12.7.1声明某个函数为友元
12.7.2声明某个类的成员函数为友元
12.7.3声明某个类为友元
第13章继承
13.1类的继承
13.1.1继承的概念
13.1.2类的继承
13.1.3内存中的派生类*
13.1.4protected
13.1.5基类访问控制
13.2构造与析构
13.2.1派生类的构造
13.2.2基类的初始化
13.2.3默认构造函数
13.2.4派生类的析构
13.3名字隐藏
13.3.1数据成员的隐藏
13.3.2成员函数的隐藏
13.3.3理解隐藏
第14章多态性
14.1类型转换
14.1.1向上转换
14.1.2向下转换
14.2虚函数与多态
14.2.1类型转换带来的问题
14.2.2虚函数
14.2.3虚函数的填充*
14.2.4多态性
14.2.5虚析构函数
14.2.6纯虚函数
14.2.7抽象类
14.3多级继承
14.3.1多级继承的使用
14.3.2虚函数的多次填充*
14.4多继承
14.4.1多继承的使用
14.4.2多继承带来的问题
14.4.3虚拟继承
第5篇C++高级特性
第15章模板
15.1函数模板
15.1.1函数模板的概念
15.1.2模板参数与函数参数
15.1.3函数模板的实例化
15.1.4函数模板的重载
15.1.5函数模板的特化*
15.2类模板
15.2.1类模板的概念
15.2.2类模板的成员函数
15.2.3包含多个参数的类模板
15.2.4类模板的默认参数
第16章C++异常处理
16.1传统的错误处理
16.2抛出异常
16.3捕获异常
16.3.1使用catch捕获异常
16.3.2捕获不同类型的异常
16.3.3捕获所有的异常
16.3.4在catch块抛出异常
16.3.5未捕获的异常
16.3.6定制terminate()的行为*
16.4对抛出异常的声明
第17章名字空间与域
17.1名字空间
17.1.1名字空间定义
17.1.2using声明
17.1.3using指令
17.1.4名字空间的别名
17.2作用域
17.3局部作用域
17.3.1局部作用域的概念
17.3.2for语句的作用域
17.3.3case语句块的作用域
17.3.4函数的作用域
17.4局部变量的存储类型
17.4.1自动存储类型
17.4.2寄存器存储类型
17.4.3静态存储类型
17.5名字空间域
17.5.1全局域
17.5.2外部存储类型
17.5.3文件域
17.5.4名字空间域
17.6类域
17.6.1类域的概念
17.6.2static数据成员
17.6.3static成员函数
17.7作用域的嵌套
17.7.1语句块的嵌套
17.7.2名字空间的嵌套
17.7.3类的嵌套
17.7.4在语句块中定义类
17.7.5嵌套带来的隐藏
17.8对象的生命周期
第18章运行时类型信息
18.1动态类型的获取
18.1.1typeid关键字
18.1.2type_info
18.1.3打开RTTI开关*
18.1.4获取对象的动态类型
18.2C++风格的类型转换
18.2.1动态类型转换dynamic_cast
18.2.2静态类型转换static_cast
18.2.3再