《C++面向对象程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邵兰洁,马睿,张玉英编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302392538
  • 页数:366 页
图书介绍:本教材以CDIO工程教育模式所倡导的“基于项目的学习”理念为指导,以课题负责人自主研发的“学生学籍管理系统”项目贯穿全书,将课程学习与项目实践相联系。随着学习进程的推进,引导学生不断地运用所学的面向对象的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 图书馆图书借阅管理系统的面向对象分析与设计 12

1.4.1 面向对象分析 12

1.4.2 面向对象设计 15

本章小结 16

习题 17

第2章 面向过程程序设计概述 18

2.1 从C语言到C++ 18

2.2 简单C++程序 19

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

2.3.1 C++的输入输出 25

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

2.3.3 常变量 26

2.3.4 指针 28

2.3.5 引用 38

2.3.6 函数 44

2.3.7 名字空间 53

2.3.8 字符串变量 56

2.3.9 复数变量 60

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

本章小结 64

习题 64

第3章 类与对象 66

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

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

3.1.2 类的声明 67

3.1.3 对象的定义 68

3.2 类的成员函数 70

3.2.1 成员函数的性质 70

3.2.2 在类外定义成员函数 70

3.2.3 inline成员函数 71

3.2.4 成员函数的存储方式 72

3.3 对象成员的访问 74

3.3.1 通过对象名和成员运算符来访问对象的成员 74

3.3.2 通过指向对象的指针来访问对象的成员 74

3.3.3 通过对象的引用来访问对象的成员 75

3.4 构造函数与析构函数 76

3.4.1 构造函数 76

3.4.2 析构函数 80

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

3.5 对象数组 85

3.6 对象指针 88

3.6.1 指向对象的指针 88

3.6.2 指向对象成员的指针 88

3.6.3 this指针 90

3.7 对象与const 92

3.7.1 常对象 92

3.7.2 常对象成员 93

3.7.3 指向对象的常指针 94

3.7.4 指向常对象的指针 94

3.7.5 对象的常引用 96

3.8 对象的动态创建与释放 97

3.9 对象的赋值与复制 98

3.9.1 对象的赋值 98

3.9.2 对象的复制 102

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

3.10 向函数传递对象 105

3.11 图书馆图书借阅管理系统中类的声明和对象的定义 108

本章小结 115

习题 115

第4章 继承与派生 118

4.1 继承与派生的概念 118

4.2 派生类的声明 119

4.3 派生类的构成 120

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

4.4.1 公用继承 121

4.4.2 私有继承 123

4.4.3 保护成员和保护继承 125

4.4.4 成员同名问题 127

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

4.5.1 派生类构造函数 129

4.5.2 派生类析构函数 132

4.6 多重继承 134

4.6.1 声明多重继承的方法 134

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

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

4.6.4 虚基类 139

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

4.8 聚合与组合 146

4.9 图书馆图书借阅管理系统中继承与聚合的应用 148

本章小结 165

习题 166

第5章 多态性与虚函数 168

5.1 什么是多态性 168

5.2 向上类型转换 169

5.3 功能早绑定和晚绑定 171

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

5.4.1 虚函数的定义和作用 172

5.4.2 虚析构函数 175

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

5.5 纯虚函数和抽象类 177

5.6 图书馆图书借阅管理系统中的多态性 180

本章小结 187

习题 188

第6章 友元与静态成员 189

6.1 封装的破坏——友元 189

6.1.1 友元函数 189

6.1.2 友元类 194

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

6.2.1 静态数据成员 196

6.2.2 静态成员函数 198

6.3 图书馆图书借阅管理系统中友元与静态成员的应用 201

本章小结 202

习题 202

第7章 运算符重载 205

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

7.2 运算符重载的方法 207

7.3 重载运算符的规则 208

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

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

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

7.5 几种常用运算符的重载 217

7.5.1 单目运算符“++”和“--”的重载 217

7.5.2 赋值运算符“=”的重载 221

7.5.3 流插入运算符“<<”和流提取运算符“>>”的重载 223

7.6 不同类型数据间的转换 227

7.6.1 系统预定义类型间的转换 227

7.6.2 转换构造函数 228

7.6.3 类型转换函数 231

7.7 图书馆图书借阅管理系统中的运算符重载 233

本章小结 238

习题 239

第8章 泛型编程 240

8.1 函数模板 240

8.1.1 函数模板的定义 241

8.1.2 函数模板的实例化 243

8.1.3 模板参数 244

8.1.4 函数模板重载 248

8.2 类模板 251

8.2.1 类模板的定义 252

8.2.2 类模板的实例化 253

8.2.3 类模板参数 256

8.3 STL简介 259

8.3.1 容器 259

8.3.2 迭代器 269

8.3.3 算法 271

8.3.4 函数对象 273

8.4 图书馆图书借阅管理系统中的泛型编程 276

本章小结 282

习题 282

第9章 输入输出 285

9.1 C++的输入输出概述 285

9.1.1 C++的输入输出 285

9.1.2 C++的输入输出流 286

9.2 C++的标准输入输出流 288

9.2.1 C++的标准输出流 288

9.2.2 C++的标准输入流 291

9.3 输入输出运算符 297

9.3.1 输入运算符 297

9.3.2 输出运算符 298

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

9.4 C++格式输入输出 299

9.4.1 用流对象的成员函数控制输入输出格式 299

9.4.2 用控制符控制输入输出格式 302

9.5 文件操作与文件流 304

9.5.1 文件的概念 304

9.5.2 文件流类及文件流对象 304

9.5.3 文件的打开与关闭 305

9.5.4 对文本文件的操作 306

9.5.5 对二进制文件的操作 308

9.6 图书馆图书借阅管理系统中的文件操作 312

本章小结 313

习题 313

第10章 异常处理 315

10.1 C++异常处理概述 315

10.2 C++异常处理的实现 316

10.3 异常与函数 322

10.3.1 在函数中处理异常 322

10.3.2 在函数调用中完成异常处理 323

10.3.3 限制函数异常 324

10.4 异常与类 324

10.4.1 构造函数、析构函数与异常处理 324

10.4.2 异常类 327

10.5 图书馆图书借阅管理系统中的异常处理 330

本章小结 332

习题 333

第11章 图形界面设计 334

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

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

11.3 图书馆图书借阅管理系统的图形界面设计 364

本章小结 364

习题 365

参考文献 366