《C++程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:邵兰杰,马睿主编
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2013
  • ISBN:9787563535750
  • 页数:289 页
图书介绍:“以CDIO为理念,以项目驱动为主线”,通过一个典型项目“学生信息管理系统”全面而深入浅出地介绍了标准C++面向对象的程序设计技术。本书共由10章组成,内容包括:C++对c语言的扩充、类与对象、继承与组合、多态性与虚函数、友元、静态成员、运算符重载、模板与STL、输入/输出流、异常处理等。《C++程序设计(第2版)》是作者根据多年的C++语言教学经验和实践体会编写而成的。它以一个小型的综合性的案例贯穿始终,在讲解C++语法知识点的同时,更注重学生动手实践能力的培养。按照教材的引导一步步完成案例程序的编制,不仅可以让学生深刻理解和领会面向对象程序设计的思想、技术、方法和要领,提高编程技能和动手实践能力,还可以让学生在亲身实践中体验成功所带来的快乐。本书是按照应用型本科教学的基本要求而编写的,适合作为高等院校计算机及相关专业本科生的C++面向对象程序设计课程教材,也可作为面向对象C++编程技术的自学者或程序设计人员的参考用书。

第1章 面向对象程序设计概述 1

1.1面向过程程序设计 1

1.2面向对象程序设计 5

1.2.1面向对象的编程思想 5

1.2.2面向对象的基本概念 6

1.2.3面向对象程序设计的优点 9

1.3面向对象的软件开发 10

1.4学生信息管理系统的面向对象分析与设计 11

习题 13

第2章 C++基础知识 14

2.1从C语言到C++ 14

2.2简单C++程序 15

2.3 C++对C语言的扩充 20

2.3.1 C++的输入/输出 20

2.3.2 C++对C语言数据类型的扩展 21

2.3.3用const定义常变量 21

2.3.4指针 23

2.3.5引用 31

2.3.6函数 35

2.3.7名字空间 43

2.3.8字符串变量 46

2.3.9复数变量 49

2.4 C++程序的编写和实现 52

习题 53

第3章 类与对象 55

3.1类的声明和对象的定义 55

3.1.1类和对象的概念及其关系 55

3.1.2类的声明 56

3.1.3对象的定义 57

3.2类的成员函数 58

3.2.1成员函数的性质 58

3.2.2在类外定义成员函数 59

3.2.3 inline成员函数 59

3.2.4成员函数的存储方式 60

3.3对象成员的访问 62

3.3.1通过对象名和成员运算符访问对象中的成员 62

3.3.2通过指向对象的指针访问对象中的成员 62

3.3.3通过对象的引用访问对象中的成员 63

3.4构造函数与析构函数 63

3.4.1构造函数 63

3.4.2析构函数 67

3.4.3构造函数和析构函数的调用次序 69

3.5对象数组 72

3.6对象指针 75

3.6.1指向对象的指针 75

3.6.2指向对象成员的指针 75

3.6.3 this指针 77

3.7对象与const 78

3.7.1常对象 78

3.7.2常对象成员 79

3.7.3指向对象的常指针 80

3.7.4指向常对象的指针 80

3.7.5对象的常引用 82

3.8对象的动态创建和释放 82

3.9对象的赋值和复制 83

3.9.1对象的赋值 83

3.9.2对象的复制 87

3.9.3对象的赋值与复制的比较 90

3.10向函数传递对象 90

3.11学生信息管理系统中类的声明和对象的定义 92

习题 95

第4章 继承与组合 97

4.1继承与派生的概念 97

4.2派生类的声明方式 98

4.3派生类的构成 99

4.4派生类中基类成员的访问属性 100

4.4.1公用继承 100

4.4.2私有继承 102

4.4.3保护成员和保护继承 103

4.4.4成员同名问题 106

4.5派生类的构造函数和析构函数 107

4.5.1派生类构造函数 107

4.5.2派生类析构函数 110

4.6多重继承 111

4.6.1声明多重继承的方法 112

4.6.2多重继承派生类的构造函数与析构函数 112

4.6.3多重继承引起的二义性问题 114

4.6.4虚基类 117

4.7基类与派生类对象的关系 120

4.8组合 122

4.9学生信息管理系统中继承与组合机制的应用 124

习题 134

第5章 多态性与虚函数 136

5.1什么是多态性 136

5.2向上类型转换 136

5.3功能早绑定和晚绑定 138

5.4实现功能晚绑定——虚函数 139

5.4.1虚函数的定义和作用 139

5.4.2虚析构函数 143

5.4.3虚函数与重载函数的比较 144

5.5纯虚函数和抽象类 144

5.6学生信息管理系统中的多态性 147

习题 156

第6章 面向对象的妥协 157

6.1封装的破坏——友元 157

6.1.1友元函数 157

6.1.2友元类 160

6.2对象机制的破坏——静态成员 161

6.2.1静态数据成员 161

6.2.2静态成员函数 163

习题 165

第7章 运算符重载 167

7.1为什么要进行运算符重载 167

7.2运算符重载的方法 168

7.3重载运算符的规则 170

7.4运算符重载函数作为类的成员函数和友元函数 171

7.4.1运算符重载函数作为类的成员函数 171

7.4.2运算符重载函数作为类的友元函数 175

7.5重载双目运算符 178

7.6重载单目运算符 181

7.7重载流插入运算符和流提取运算符 184

7.8不同类型数据间的转换 187

7.8.1系统预定义类型间的转换 187

7.8.2转换构造函数 188

7.8.3类型转换函数 190

习题 192

第8章 模板 193

8.1为什么需要模板 193

8.2函数模板 194

8.2.1函数模板的定义 194

8.2.2函数模板的实例化 196

8.2.3模板参数 197

8.2.4函数模板重载 200

8.3类模板 203

8.3.1类模板的定义 203

8.3.2类模板的实例化 205

8.3.3类模板参数 207

8.4 STL简介 210

8.4.1容器 210

8.4.2迭代器(iterator) 219

8.4.3算法 221

习题 222

第9章 输入/输出流 224

9.1 C++的输入和输出概述 224

9.2 C++的标准输入/输出流 224

9.2.1 iostream类库中有关的类及其定义的流对象 224

9.2.2 C++的标准输出流 226

9.2.3 C++的标准输入流 228

9.3输入与输出运算符及其重载 234

9.3.1输入运算符 234

9.3.2输出运算符 234

9.3.3输入与输出运算符的重载 235

9.4 C++格式输入/输出 235

9.4.1用ios类提供的格式化函数控制输入/输出格式 235

9.4.2用控制符控制输入/输出格式 238

9.5文件操作与文件流 240

9.5.1文件的概念 240

9.5.2文件流类及其流对象 240

9.5.3文件的打开与关闭 241

9.5.4对文本文件的操作 242

9.5.5对二进制文件的操作 244

9.5.6随机访问二进制文件 245

9.6学生信息管理系统中的文件操作 247

习题 247

第10章 异常处理 249

10.1异常处理的概念及C++异常处理的基本思想 249

10.2异常处理的实现 250

10.2.1异常处理语句 250

10.2.2在函数声明中进行异常情况指定 255

10.2.3析构函数与异常 256

10.3学生信息管理系统中的异常处理 257

习题 258

第11章 图形界面C++程序设计 259

11.1基于对话框的图形界面C++程序设计 259

11.2基于单文档的图形界面C++程序设计 270

11.3学生信息管理系统的图形界面设计 288

习题 288

参考文献 289