普通高等教育软件工程“十二五”规划教材

C++程序设计(第2版)

一本面向已有C语言基础的C++初学者的入门教程
分享 推荐 2 收藏 14 阅读 4.1K
宋春花 (作者) 978-7-115-45260-3

关于本书的内容有任何问题,请联系 张斌

1.本书综合了C++技术类图书和一般教材图书的特点,既介绍了C++面向对象程序设计的理论知识,又清晰阐述了C++语法以及C++程序实现方法。而且本书通过C++的编程实现过程帮助读者理解面向对象程序设计方法,体现理论指导实践,实践提升理论的思想。
2.本书每章都有大量实例。针对每一个知识点,都有一个或多个完整的实例来学习和巩固,增强学习效果。
3.本书有配套的同步学习书籍《C++程序设计习题解析与实践教程》。该书内容分为三部分:习题解析、实验指导及实践案例。习题形式多样,有判断题、填空题、选择题、程序改错题、程序阅读题、程序设计题等,使读者从多角度进一步理解和掌握所学内容和知识。实验指导的内容与本书内容同步,每章都有同步的实验范例和实验习题;实践案例综合本书所学内容,引导学生进行系统地开发。
4.为便于学习,本书配有电子课件、实例源代码、习题答案等教学资源。如果需要,可以通过人民教育社区(http://www.ryjiaoyu.com.cn)下载。
¥45.00 ¥38.25 (8.5 折)
立即购买 申请样书 在线试读
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书是为已有C程序设计基础、想学习C++面向对象程序设计的读者编写。全书共分9章:第1、2章介绍了面向对象程序设计方法及C++程序设计语言基础;第3~6章围绕面向对象程序设计的数据封装和隐藏、继承性和多态性三个特征,分别介绍了类和对象、构造函数与析构函数、静态成员、友元类和友元函数、继承和派生、多态性等;第7~9章分别介绍了函数模板和类模板、文件和流、异常处理。

目录


第 1章 面向对象程序设计概述 1
1.1 面向对象程序设计方法的发展历史 1
1.2 面向过程和面向对象程序设计方法概述 2
1.2.1 面向过程程序设计 3
1.2.2 面向对象程序设计 4
1.3 面向对象程序设计的基本术语 5
1.4 面向对象程序设计的基本特征 7
1.4.1 抽象性 7
1.4.2 封装性 8
1.4.3 继承性 9
1.4.4 多态性 10
1.5 面向对象程序设计语言 10
1.5.1 从C到C++ 10
1.5.2 其他的面向对象程序设计语言 11
1.6 基于Visual Studio 2010的C++应用程序的开发 12
小结 16
习题 17
第 2章 C++基础 18
2.1 C++程序的组成部分 18
2.2 命名空间 20
2.2.1 什么是命名空间 20
2.2.2 C++中的命名空间定义 21
2.2.3 C++中的命名空间的使用 23
2.2.4 std命名空间 25
2.3 C++数据的输入/输出 27
2.3.1 C++的流 27
2.3.2 cin和流提取运算符>> 27
2.3.3 cout和流插入运算符<< 28
2.4 引用 28
2.5 函数 30
2.5.1 函数原型 30
2.5.2 重载函数 31
2.5.3 带有默认参数的函数 33
2.5.4 内联函数 34
2.5.5 引用参数和返回引用 35
2.6 变量的作用域与可见性 37
2.6.1 作用域 37
2.6.2 可见性 39
2.7 变量的生存期 40
2.7.1 静态生存期 40
2.7.2 动态生存期 40
2.8 const常量 41
2.8.1 常量的定义 42
2.8.2 const和#define 42
2.9 动态内存分配和释放 43
2.9.1 new运算符 43
2.9.2 delete运算符 44
2.10 编译预处理 45
2.10.1 宏定义 45
2.10.2 文件包含 46
2.10.3 条件编译 46
2.11 文件的输入和输出 48
2.11.1 文件的打开和关闭 48
2.11.2 文件的输入和输出 49
小结 50
习题 51
第3章 类和对象 53
3.1 类和对象的概念 53
3.1.1 类的基本概念 53
3.1.2 对象的基本概念 54
3.2 类的定义 54
3.2.1 类的定义格式 54
3.2.2 类的成员 55
3.2.3 类成员访问控制权限 55
3.2.4 成员函数的实现方式 58
3.2.5 将成员函数设置为内联函数 59
3.2.6 成员函数重载 60
3.3 对象的创建与使用 61
3.3.1 对象的定义 61
3.3.2 对象成员的访问 62
3.4 构造函数 65
3.4.1 构造函数的定义和功能 66
3.4.2 默认构造函数 67
3.4.3 无参构造函数 67
3.4.4 构造函数的重载 67
3.4.5 带默认参数的构造函数 68
3.4.6 构造函数与初始化列表 69
3.5 析构函数 70
3.6 构造函数和析构函数的调用顺序 71
3.7 对象数组与对象指针 73
3.7.1 对象数组 73
3.7.2 对象指针 74
3.7.3 this指针 76
3.8 向函数传递对象 77
3.8.1 使用对象作为函数参数 77
3.8.2 使用对象指针作为函数参数 78
3.8.3 使用对象引用作为函数参数 79
3.8.4 三种传递方式比较 80
3.9 对象的赋值和复制 81
3.9.1 对象赋值语句 82
3.9.2 拷贝构造函数 83
3.10 类的组合 85
3.11 程序实例 88
小结 91
习题 92
第4章 类与对象的其他特性 93
4.1 类的静态成员 93
4.1.1 静态数据成员 93
4.1.2 静态数据成员的定义 94
4.1.3 静态数据成员的初始化 94
4.1.4 静态数据成员的使用 95
4.1.5 静态成员函数 97
4.2 友元 99
4.2.1 友元函数 100
4.2.2 友元类 102
4.3 类的作用域和对象的生存期 104
4.3.1 类的作用域 104
4.3.2 对象的生存期 105
4.4 常量类型 107
4.4.1 常量对象 107
4.4.2 常量成员 108
4.4.3 常量引用 111
4.4.4 常量指针与指向常量的指针 112
小结 114
习题 115
第5章 继承与派生 116
5.1 类的继承与派生概念 116
5.2 基类与派生类 118
5.2.1 派生类的声明 118
5.2.2 派生类的生成过程 119
5.2.3 继承方式和派生类的访问权限 120
5.3 派生类的构造函数和析构函数 126
5.3.1 派生类构造函数 126
5.3.2 派生类析构函数的构建 129
5.3.3 派生类构造函数和析构函数的执行顺序 130
5.4 多重继承 132
5.4.1 多重继承的声明 132
5.4.2 多重继承的构造函数和析构函数 133
5.4.3 多重继承中的二义性 135
5.4.4 虚基类 140
5.5 子类型与赋值兼容规则 143
5.5.1 子类型 143
5.5.2 赋值兼容规则 144
5.6 程序实例 146
小结 149
习题 149
第6章 多态性 151
6.1 多态性的概念 151
6.1.1 多态的类型 152
6.1.2 静态关联与动态关联 152
6.2 运算符重载 152
6.2.1 运算符重载的概念 152
6.2.2 运算符重载的方法 153
6.2.3 重载运算符的规则 154
6.2.4 运算符重载为成员函数和友元函数 155
6.2.5 重载双目运算符 157
6.2.6 重载单目运算符 158
6.2.7 重载流插入运算符和流提取运算符 160
6.3 不同类型数据间的转换 162
6.3.1 标准类型数据间的转换 162
6.3.2 用转换构造函数实现类型转换 163
6.3.3 用类型转换函数进行类型转换 163
6.4 虚函数 164
6.4.1 虚函数的定义 164
6.4.2 虚函数的作用 165
6.4.3 对象的存储 170
6.4.4 虚析构函数 171
6.5 纯虚函数与抽象类 173
6.5.1 纯虚函数 173
6.5.2 抽象类 173
小结 177
习题 177
第7章 模板 179
7.1 模板的概念 179
7.2 函数模板与模板函数 180
7.2.1 函数模板的定义和模板函数的生成 180
7.2.2 模板函数显式具体化 185
7.3 类模板与模板类 186
7.3.1 类模板的定义和使用 187
7.3.2 类模板的派生 193
7.3.3 类模板显式具体化 195
7.4 程序实例 198
小结 205
习题 205
第8章 文件和流 207
8.1 C++的输入/输出 207
8.2 标准输入流 208
8.2.1 使用cin进行输入 208
8.2.2 其他istream类方法 209
8.3 标准输出流 210
8.3.1 使用cout进行输出 210
8.3.2 使用cout进行格式化输出 212
8.3.3 其他ostream类方法 217
8.4 文件的输入和输出 218
8.4.1 文件的打开与关闭 219
8.4.2 文本文件的读写操作 220
8.4.3 二进制文件的读写操作 223
8.4.4 使用文件指针成员函数实现随机存取 224
8.5 程序实例 226
小结 227
习题 228
第9章 异常处理 229
9.1 异常处理概述 229
9.1.1 异常、异常处理的概念 229
9.1.2 异常处理的基本思想 230
9.2 异常处理的实现 230
9.2.1 异常处理的语句 231
9.2.2 异常接口声明 236
9.3 构造函数、析构函数与异常处理 237
9.4 异常匹配 239
9.5 标准异常及层次结构 241
9.6 异常处理中需要注意的问题 242
小结 243
习题 243
参考文献 244

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

宋春花,太原理工大学计算机科学与技术学院副教授,2009年获计算机工学博士学位。多年来一直从事基于图形、图像的三维建模与可视化技术的研究,参加了多项国家自然科学基金项目。具有丰富的教学经验,在程序设计语言和软件工程方面编著多部教材和辅助教材。

推荐用户

同系列书

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部