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

  • 购买积分:11 如何计算积分?
  • 作  者:邵兰洁主编
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2009
  • ISBN:9787563519804
  • 页数:281 页
图书介绍:本书从一个简单的学生信息管理系统的面向过程程序设计出发,讨论了传统的面向过程程序设计方法的不足,进而引出面向对象程序设计方法,介绍面向对象程序设计的编程思想,面向对象程序设计的基本概念,面向对象程序设计的优点。

第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语言的扩充 21

2.3.1 C++的输入/输出 21

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

2.3.3 用const定义常变量 23

2.3.4 指针 24

2.3.5 引用 34

2.3.6 函数 38

2.3.7 名字空间 47

2.3.8 字符串变量 51

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

习题 55

第3章 类与对象 57

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

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

3.1.2 类的声明 58

3.1.3 对象的定义 59

3.2 类的成员函数 61

3.2.1 成员函数的性质 61

3.2.2 在类外定义成员函数 61

3.2.3 inline成员函数 62

3.2.4 成员函数的存储方式 63

3.3 对象成员的访问 65

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

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

3.3.3 通过对象的引用变量访问对象中的成员 66

3.4 构造函数与析构函数 67

3.4.1 构造函数 67

3.4.2 析构函数 71

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

3.5 对象数组 74

3.6 对象指针 78

3.6.1 指向对象的指针 78

3.6.2 指向对象成员的指针 79

3.6.3 this指针 80

3.7 对象与const 82

3.7.1 常对象 82

3.7.2 常对象成员 83

3.7.3 指向对象的常指针 84

3.7.4 指向常对象的指针变量 85

3.7.5 对象的常引用 86

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

3.9 对象的赋值和复制 88

3.9.1 对象的赋值 88

3.9.2 对象的复制 92

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

3.10 向函数传递对象 95

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

习题 100

第4章 继承与组合 102

4.1 继承与派生的概念 102

4.2 派生类的声明方式 103

4.3 派生类的构成 104

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

4.4.1 公用继承 106

4.4.2 私有继承 108

4.4.3 保护成员和保护继承 109

4.4.4 派生类对基类成员的重定义和名字隐藏 112

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

4.5.1 派生类构造函数 115

4.5.2 派生类析构函数 118

4.6 多重继承 118

4.6.1 声明多重继承的方法 119

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

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

4.6.4 虚基类 124

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

4.8 组合 129

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

习题 143

第5章 多态性与虚函数 145

5.1 什么是多态性 145

5.2 向上类型转换 146

5.3 功能早绑定和晚绑定 147

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

5.4.1 虚函数的定义和作用 148

5.4.2 虚析构函数 152

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

5.5 纯虚函数和抽象类 153

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

习题 167

第6章 面向对象的妥协 168

6.1 封装的破坏——友元 168

6.1.1 友元函数 168

6.1.2 友元类 171

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

6.2.1 静态数据成员 173

6.2.2 静态成员函数 175

习题 177

第7章 运算符重载 179

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

7.2 运算符重载的方法 180

7.3 重载运算符的规则 182

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

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

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

7.5 重载双目运算符 191

7.6 重载单目运算符 194

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

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

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

7.8.2 转换构造函数 202

7.8.3 类型转换函数 204

习题 206

第8章 模板 208

8.1 为什么需要模板 208

8.2 函数模板 209

8.2.1 函数模板的定义 210

8.2.2 函数模板的实例化 211

8.2.3 模板参数 212

8.2.4 函数模板重载 216

8.3 类模板 220

8.3.1 类模板的定义 220

8.3.2 类模板的实例化 222

8.3.3 类模板参数 224

8.4 STL简介 227

8.4.1 容器 228

8.4.2 迭代器(iterator) 236

8.4.3 算法 238

习题 240

第9章 输入/输出流 242

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

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

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

9.2.2 C++的标准输出流 244

9.2.3 C++的标准输入流 247

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

9.3.1 输入运算符 254

9.3.2 输出运算符 254

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

9.4 C++格式输入和输出 255

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

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

9.5 文件操作与文件流 260

9.5.1 文件的概念 260

9.5.2 文件流类及其流对象 261

9.5.3 文件的打开与关闭 261

9.5.4 对文本文件的操作 263

9.5.5 对二进制文件的操作 265

9.5.6 随机访问二进制文件 267

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

习题 269

第10章 异常处理 270

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

10.2 异常处理的实现 271

10.2.1 异常处理语句 271

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

10.2.3 析构函数与异常 277

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

习题 280

参考文献 281