书籍详情
C++程序设计与实践
作者:白忠建 编著
出版社:机械工业出版社
出版时间:2012-05-01
ISBN:9787111376040
定价:¥39.00
购买这本书可以去
内容简介
《高等院校软件工程专业规划教材:C++程序设计与实践》详细介绍了对象和面向对象技术的概念,并围绕案例的求解,深入浅出地介绍了面向对象技术的4个核心思想(数据封装、继承、多态和泛型编程)在C++中的概念、实现机制和语法、编程方法等,其中包括类与对象、运算符重载、继承和派生、虚函数和多态性、模板和泛型编程、多继承、名字空间和异常处理,使读者能够循序渐进地掌握C++的语法以及面向对象程序设计的方法。《高等院校软件工程专业规划教材:C++程序设计与实践》在每一章的重要知识点之后均穿插了适量的实践题,建议读者动手实践,加深对C++的理解。本书既可作为高等学校计算机及其相关专业相应课程的教材,也可作为C++程序员的参考书。
作者简介
暂缺《C++程序设计与实践》作者简介
目录
出版说明
前言
第1章 引论
1.1什么是对象
1.2什么是面向过程和面向对象
1.2.1面向过程方法
1.2.2面向对象方法
1.3面向对象技术的核心概念
1.3.1数据封装
1.3.2继承
1.3.3多态性
1.3.4泛型编程
1.4C++程序概貌
1.4.1第一个C++程序
1.4.2C++程序的编辑、编译和链接
1.5贯穿全书的案例
第2章 C++的数据类型
2.1C++数据类型概览
2.2标识符、常量和变量
2.2.1标识符
2.2.2常量
2.2.3变量
2.2.4变量的初始化
2.3简单数据类型
2.3.1整数类型
2.3.2浮点类型
2.3.3枚举类型
2.3.4简单类型的应用
2.4地址数据类型
2.4.1指针类型
2.4.2引用类型
2.4.3地址类型的使用
2.5结构化数据类型
2.5.1数组
2.5.2结构体
2.5.3用typedef定义类型的别名
2.6运算符和表达式
2.6.1常用的运算符和表达式
2.6.2几种特殊的运算符
第3章 C++语句
3.1概述
3.1.1表达式语句
3.1.2复合语句
3.1.3标号语句
3.2流程控制结构和语句
3.2.1顺序结构
3.2.2选择结构和语句
3.2.3循环结构和语句
3.2.4跳转语句
3.3异常处理语句
3.3.1异常处理的意义
3.3.2异常处理的方法
第4章 函数
4.1函数的原型声明和定义
4.2函数的参数和返回值
4.2.1函数的参数
4.2.2函数的返回值
4.3函数重载
4.4存储类修饰符
4.5标识符的作用域和生命期
4.5.1作用域和生命期
4.5.2名字限定
4.6函数的其他话题
4.6.1内联函数
4.6.2函数递归
4.6.3指向函数的指针和引用
4.6.4在C++程序中调用非C++函数
4.7C风格的解决方案
4.7.1形体建模
4.7.2存储模型的设计
4.7.3形体和列表类型设计上的缺陷
4.7.4 一个更好的列表类型
4.7.5与形体相关的操作
4.7.6列表相关的操作
第5章 类和对象
5.1问题引入
5.2类与对象
5.2.1类的定义
5.2.2类和对象简介
5.2.3访问控制
5.3类的成员
5.3.1数据成员
5.3.2成员函数
5.3.3静态成员
5.4类对象的初始化
5.5C++的类
5.6数据封装和信息隐藏的意义
5.7用面向对象的方式思考
5.8解决方案
5.8.1形体类型的类版本
5.8.2列表类型的类版本
第6章 深入类和对象
6.1问题引入
6.2构造函数和析构函数
6.2.1构造函数的定义
6.2.2重载构造函数
6.2.3析构函数
6.2.4复制构造函数
6.3对象的创建和初始化
6.4对象和指针
6.4.1this指针
6.4.2指向类对象的指针
6.4.3指向类成员的指针
6.5友元关系
6.5.1友元函数
6.5.2友元类
6.5.3友元关系的特性
6.6与类和对象相关的问题
6.6.1对象数组
6.6.2类对象作为函数参数和返回值
6.6.3常量对象
6.6.4常成员函数
6.6.5嵌套类
6.6.6在类中定义类型
6.7解决方案
6.7.1形体类的构造函数和析构函数
6.7.2列表类的构造函数和析构函数
第7章 运算符重载
7.1问题引入
7.2运算符的重载形式
7.2.1运算符重载的语法
7.2.2重载运算符规则
7.3常用运算符的重载
7.3.1赋值运算符的重载
7.3.2算术运算符的重载
7.3.3重载++和--运算符
7.3.4重载关系运算符
7.4几种特殊运算符的重载
7.4.1重载输入/输出运算符>>和<<
7.4.2重载类型转换运算符
7.4.3重载指针运算符
7.4.4重载()运算符
7.4.5重载[]运算符
7.5解决方案
7.5.1为形体类重载运算符
7.5.2为列表类重载运算符
第8章 继承和派生
8.1问题引入
8.2继承和派生的概念
8.2.1基类与派生类
8.2.2继承的语法
8.2.3基类的protected成员
8.2.4访问声明
8.2.5基类静态成员的派生
8.3基类与派生类的关系
8.3.1基类对象的初始化
8.3.2派生类对象和基类对象的相互转换
8.3.3在派生类中重新定义基类的成员
8.3.4派生类继承基类重载的运算符函数
8.4继承的意义
8.4.1模块的观点
8.4.2类型的观点
8.5解决方案
8.5.1形体类的改造
8.5.2列表类的改造
第9章 虚函数和多态性
9.1问题引入
9.2多态性的概念
9.2.1静态多态性
9.2.2动态多态性
9.3实现多态的基石——虚函数
9.3.1虚函数的概念和特性
9.3.2虚函数的实现机制
9.4纯虚函数和抽象类
9.5解决方案
9.5.1将Quadrangle类改造成抽象类
9.5.2更抽象的容器类
第10章 模板和泛型编程
10.1问题引入
10.2函数模板
10.2.1函数模板的定义和使用
10.2.2重载模板函数和非模板函数
10.2.3函数模板的特化
10.3类模板
10.3.1类模板的定义和使用
10.3.2类模板的成员
10.3.3类模板的特化
10.3.4类模板中的友元
10.3.5类模板的继承和派生
10.4容器类和迭代器
10.4.1从容器中分离出迭代操作
10.4.2C++的标准容器类
10.5泛型算法
10.5.1泛型算法函数的设计
10.5.2函数对象在泛型算法中的作用
10.5.3C++的标准泛型算法和函数对象
10.6解决方案
第11章 流库
11.1问题引入
11.2C++的I/O系统
11.3C++流库的结构
11.3.1输入/输出流的含义
11.3.2C++流库的结构简介
11.4输入和输出
11.4.1istream
11.4.2ostream
11.4.3输出运算符<<
11.4.4输入运算符>>
11.5格式控制
11.5.1用ios类成员函数格式化
11.5.2用操纵函数格式化
11.6文件I/O
11.6.1文件的概念
11.6.2文件的打开和关闭
11.6.3文件的读写
第12章 多继承
12.1问题引入
12.2多继承的概念
12.3虚继承和虚基类
12.3.1多继承的二义性问题
12.3.2虚继承和虚基类
12.4多继承中的其他话题
12.4.1虚函数的调用
12.4.2最终派生类对象的初始化
第13章 名字空间和异常处理
13.1问题引入
13.2名字空间
13.2.1名字空间的定义
13.2.2嵌套的名字空间
13.2.3using 声明
13.2.4using指令
13.2.5匿名名字空间
13.2.6名字空间小结
13.3异常处理
13.3.1C语言的出错处理
13.3.2抛出异常
13.3.3异常捕获
13.3.4清除异常对象
13.3.5在构造函数中抛出异常
13.3.6异常匹配
13.3.7含有异常的程序设计
13.3.8异常的典型使用
13.3.9开销
附录
附录AC++关键字
附录B运算符的优先级和结合性
附录C标准C++头文件
参考文献
前言
第1章 引论
1.1什么是对象
1.2什么是面向过程和面向对象
1.2.1面向过程方法
1.2.2面向对象方法
1.3面向对象技术的核心概念
1.3.1数据封装
1.3.2继承
1.3.3多态性
1.3.4泛型编程
1.4C++程序概貌
1.4.1第一个C++程序
1.4.2C++程序的编辑、编译和链接
1.5贯穿全书的案例
第2章 C++的数据类型
2.1C++数据类型概览
2.2标识符、常量和变量
2.2.1标识符
2.2.2常量
2.2.3变量
2.2.4变量的初始化
2.3简单数据类型
2.3.1整数类型
2.3.2浮点类型
2.3.3枚举类型
2.3.4简单类型的应用
2.4地址数据类型
2.4.1指针类型
2.4.2引用类型
2.4.3地址类型的使用
2.5结构化数据类型
2.5.1数组
2.5.2结构体
2.5.3用typedef定义类型的别名
2.6运算符和表达式
2.6.1常用的运算符和表达式
2.6.2几种特殊的运算符
第3章 C++语句
3.1概述
3.1.1表达式语句
3.1.2复合语句
3.1.3标号语句
3.2流程控制结构和语句
3.2.1顺序结构
3.2.2选择结构和语句
3.2.3循环结构和语句
3.2.4跳转语句
3.3异常处理语句
3.3.1异常处理的意义
3.3.2异常处理的方法
第4章 函数
4.1函数的原型声明和定义
4.2函数的参数和返回值
4.2.1函数的参数
4.2.2函数的返回值
4.3函数重载
4.4存储类修饰符
4.5标识符的作用域和生命期
4.5.1作用域和生命期
4.5.2名字限定
4.6函数的其他话题
4.6.1内联函数
4.6.2函数递归
4.6.3指向函数的指针和引用
4.6.4在C++程序中调用非C++函数
4.7C风格的解决方案
4.7.1形体建模
4.7.2存储模型的设计
4.7.3形体和列表类型设计上的缺陷
4.7.4 一个更好的列表类型
4.7.5与形体相关的操作
4.7.6列表相关的操作
第5章 类和对象
5.1问题引入
5.2类与对象
5.2.1类的定义
5.2.2类和对象简介
5.2.3访问控制
5.3类的成员
5.3.1数据成员
5.3.2成员函数
5.3.3静态成员
5.4类对象的初始化
5.5C++的类
5.6数据封装和信息隐藏的意义
5.7用面向对象的方式思考
5.8解决方案
5.8.1形体类型的类版本
5.8.2列表类型的类版本
第6章 深入类和对象
6.1问题引入
6.2构造函数和析构函数
6.2.1构造函数的定义
6.2.2重载构造函数
6.2.3析构函数
6.2.4复制构造函数
6.3对象的创建和初始化
6.4对象和指针
6.4.1this指针
6.4.2指向类对象的指针
6.4.3指向类成员的指针
6.5友元关系
6.5.1友元函数
6.5.2友元类
6.5.3友元关系的特性
6.6与类和对象相关的问题
6.6.1对象数组
6.6.2类对象作为函数参数和返回值
6.6.3常量对象
6.6.4常成员函数
6.6.5嵌套类
6.6.6在类中定义类型
6.7解决方案
6.7.1形体类的构造函数和析构函数
6.7.2列表类的构造函数和析构函数
第7章 运算符重载
7.1问题引入
7.2运算符的重载形式
7.2.1运算符重载的语法
7.2.2重载运算符规则
7.3常用运算符的重载
7.3.1赋值运算符的重载
7.3.2算术运算符的重载
7.3.3重载++和--运算符
7.3.4重载关系运算符
7.4几种特殊运算符的重载
7.4.1重载输入/输出运算符>>和<<
7.4.2重载类型转换运算符
7.4.3重载指针运算符
7.4.4重载()运算符
7.4.5重载[]运算符
7.5解决方案
7.5.1为形体类重载运算符
7.5.2为列表类重载运算符
第8章 继承和派生
8.1问题引入
8.2继承和派生的概念
8.2.1基类与派生类
8.2.2继承的语法
8.2.3基类的protected成员
8.2.4访问声明
8.2.5基类静态成员的派生
8.3基类与派生类的关系
8.3.1基类对象的初始化
8.3.2派生类对象和基类对象的相互转换
8.3.3在派生类中重新定义基类的成员
8.3.4派生类继承基类重载的运算符函数
8.4继承的意义
8.4.1模块的观点
8.4.2类型的观点
8.5解决方案
8.5.1形体类的改造
8.5.2列表类的改造
第9章 虚函数和多态性
9.1问题引入
9.2多态性的概念
9.2.1静态多态性
9.2.2动态多态性
9.3实现多态的基石——虚函数
9.3.1虚函数的概念和特性
9.3.2虚函数的实现机制
9.4纯虚函数和抽象类
9.5解决方案
9.5.1将Quadrangle类改造成抽象类
9.5.2更抽象的容器类
第10章 模板和泛型编程
10.1问题引入
10.2函数模板
10.2.1函数模板的定义和使用
10.2.2重载模板函数和非模板函数
10.2.3函数模板的特化
10.3类模板
10.3.1类模板的定义和使用
10.3.2类模板的成员
10.3.3类模板的特化
10.3.4类模板中的友元
10.3.5类模板的继承和派生
10.4容器类和迭代器
10.4.1从容器中分离出迭代操作
10.4.2C++的标准容器类
10.5泛型算法
10.5.1泛型算法函数的设计
10.5.2函数对象在泛型算法中的作用
10.5.3C++的标准泛型算法和函数对象
10.6解决方案
第11章 流库
11.1问题引入
11.2C++的I/O系统
11.3C++流库的结构
11.3.1输入/输出流的含义
11.3.2C++流库的结构简介
11.4输入和输出
11.4.1istream
11.4.2ostream
11.4.3输出运算符<<
11.4.4输入运算符>>
11.5格式控制
11.5.1用ios类成员函数格式化
11.5.2用操纵函数格式化
11.6文件I/O
11.6.1文件的概念
11.6.2文件的打开和关闭
11.6.3文件的读写
第12章 多继承
12.1问题引入
12.2多继承的概念
12.3虚继承和虚基类
12.3.1多继承的二义性问题
12.3.2虚继承和虚基类
12.4多继承中的其他话题
12.4.1虚函数的调用
12.4.2最终派生类对象的初始化
第13章 名字空间和异常处理
13.1问题引入
13.2名字空间
13.2.1名字空间的定义
13.2.2嵌套的名字空间
13.2.3using 声明
13.2.4using指令
13.2.5匿名名字空间
13.2.6名字空间小结
13.3异常处理
13.3.1C语言的出错处理
13.3.2抛出异常
13.3.3异常捕获
13.3.4清除异常对象
13.3.5在构造函数中抛出异常
13.3.6异常匹配
13.3.7含有异常的程序设计
13.3.8异常的典型使用
13.3.9开销
附录
附录AC++关键字
附录B运算符的优先级和结合性
附录C标准C++头文件
参考文献
猜您喜欢