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

  • 购买积分:12 如何计算积分?
  • 作  者:崔志磊主编
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2008
  • ISBN:7560619517
  • 页数:325 页
图书介绍:本书介绍了C++面向对象程序设计的基本概念和方法,主要内容包括面向对象的基本概念、类与对象、函数重载与引用、模板、运算符重载、继承与组合等。

第1章 面向对象的基本概念 1

1.1 概述 1

1.2 C++入门 2

1.3 类的基本概念 3

1.3.1 从结构到类 3

1.3.2 属性与行为 5

1.3.3 封装与隐藏 5

1.4 现实生活中的类与对象 6

1.4.1 类的描述 6

1.4.2 类与对象 7

1.5 程序的具体实现 8

1.5.1 定义成员函数 9

1.5.2 调用成员函数 12

1.6 this指针 14

1.6.1 成员函数和数据成员的关系 14

1.6.2 this指针的作用 15

1.6.3 this指针的工作方式 15

1.7 作用域、可见性及命名规则 17

1.7.1 作用域 17

1.7.2 可见性 18

1.7.3 命名规则 19

1.8 C++程序结构 19

1.8.1 类库的构成 19

1.8.2 程序开发 20

本章要点 25

练习 26

第2章 类与对象 29

2.1 对象的创建 29

2.1.1 对象创建顺序 29

2.1.2 对象的赋值 30

2.2 构造函数 31

2.2.1 构造函数的特点 31

2.2.2 构造函数的需要性 32

2.2.3 构造函数的调用时机 32

2.3 析构函数 33

2.3.1 析构函数的特点 33

2.3.2 析构函数的需要性 34

2.3.3 析构函数的调用时机 36

2.4 构造参数 36

2.4.1 带参数的构造函数 36

2.4.2 带默认参数的构造函数 37

2.4.3 默认构造函数 40

2.4.4 成员初试化表 40

2.5 动态内存分配 41

2.5.1 申请堆和释放堆内存 41

2.5.2 new和delete的应用 42

2.5.3 使用堆空间 47

2.6 常量 47

2.6.1 常量的定义 47

2.6.2 常量指针 48

2.6.3 指针常量 49

2.6.4 指向常量的指针常量 49

2.7 const对象 50

2.7.1 const数据成员 50

2.7.2 const成员函数 51

2.7.3 const对象的声明与实现 51

2.7.4 使用const成员 53

2.8 静态成员 53

2.8.1 静态成员的需要性 53

2.8.2 静态成员的访问 54

2.8.3 静态数据成员 54

2.8.4 静态成员函数 55

本章要点 58

练习 59

第3章 函数重载与引用 72

3.1 函数重载 72

3.1.1 重载的概念 72

3.1.2 匹配重载函数的顺序 73

3.1.3 对重载函数的要求 74

3.1.4 重载的实现 75

3.1.5 重载的二义性 78

3.2 内联函数 79

3.2.1 内联函数的实现 79

3.2.2 内联函数的限制 80

3.3 引用 81

3.3.1 引用的概念 81

3.3.2 引用的操作 81

3.3.3 引用的利弊 81

3.3.4 引用规则 83

3.3.5 指针和引用的区别 84

3.4 友元 85

3.4.1 友元函数 85

3.4.2 友元类 89

3.4.3 互为友类 91

3.5 名空间 92

3.5.1 概念与作用 92

3.5.2 实现方法 93

3.5.3 嵌套名空间 95

3.5.4 std名空间 95

3.5.5 匿名名空间 96

本章要点 97

练习 98

第4章 模板 103

4.1 概念 103

4.2 函数模板与模板函数 103

4.2.1 函数模板 104

4.2.2 模板函数 105

4.2.3 函数模板的需要性 108

4.2.4 函数模板的应用 109

4.3 重载模板函数 112

4.4 类模板与模板类 113

4.4.1 类模板 113

4.4.2 模板类 114

4.5 类模板的应用 117

4.5.1 实现通用栈 117

4.5.2 实现链表 119

4.5.3 在类模板中使用混合形参 122

4.5.4 在类模板中使用友元 123

4.5.5 在类模板中使用函数模板 125

4.6 标准模板库STL 126

4.6.1 vector类 126

4.6.2 string类 131

4.6.3 complex类 132

4.6.4 stack类 133

4.6.5 queue类 134

本章要点 135

练习 135

第5章 运算符重载 140

5.1 概念 140

5.1.1 运算符的重载 140

5.1.2 运算符重载的限制 140

5.2 重载函数作为成员函数的情况 141

5.2.1 双目运算符的重载 141

5.2.2 单目运算符的重载 143

5.3 重载函数作为友元函数的情况 145

5.3.1 双目运算符的重载 145

5.3.2 单目运算符的重载 150

5.4 重载赋值运算符 151

5.5 拷贝构造函数 154

5.5.1 拷贝的需要性 154

5.5.2 拷贝的发生 154

5.5.3 实现拷贝的方法 157

5.5.4 拷贝构造函数的使用 157

5.6 类型的转换 159

5.6.1 系统的自动转换 159

5.6.2 转换构造函数 160

5.6.3 转换函数 161

5.6.4 转换函数的匹配方式 164

5.6.5 转换函数的作用 165

本章要点 166

练习 167

第6章 继承与组合 175

6.1 继承的概念 175

6.2 抽象和分类 175

6.3 继承的实现 176

6.3.1 建立继承的方法 176

6.3.2 成员之间的关系 178

6.3.3 访问成员的方法 180

6.4 继承中的成员重定义 181

6.4.1 概念与方法 181

6.4.2 成员重定义后的访问 183

6.5 继承下的类域 185

6.5.1 重定义与重载的区别 185

6.5.2 用using消除屏蔽 186

6.6 组合的概念 187

6.6.1 描述关系 188

6.6.2 数据成员关系 188

6.7 派生类和组合类对象的构造 190

6.7.1 概念与方法 190

6.7.2 构造与激活 190

6.8 模板类的继承关系 195

6.9 基类和派生类的指针 197

6.9.1 使用规则 197

6.9.2 使用方法 197

本章要点 200

练习 201

第7章 多态和多继承 210

7.1 概念 210

7.1.1 静态联编 210

7.1.2 动态联编 212

7.1.3 虚函数 212

7.2 多态 212

7.2.1 多态的两种方式 212

7.2.2 多态的实现 212

7.2.3 多态的工作方法 215

7.2.4 多态的需要性 216

7.2.5 关于多态的说明 218

7.3 虚函数的说明 218

7.3.1 虚函数的限制 218

7.3.2 虚函数与重载函数的区别 219

7.4 分解与抽象 219

7.4.1 分解方法 219

7.4.2 抽象类 221

7.5 多继承 230

7.5.1 多继承的概念 231

7.5.2 继承关系的限制 231

7.5.3 实现方法 232

7.5.4 继承中的二义性 232

7.5.5 继承中的模糊性 234

7.6 虚拟继承 235

7.6.1 实现方法 235

7.6.2 激活虚基类 237

7.6.3 概念区分 238

7.6.4 虚函数的二义性 239

7.6.5 引入虚拟继承的目的 240

7.7 对象的构造 240

7.7.1 构造方法 240

7.7.2 构造顺序 240

本章要点 242

练习 243

第8章 流与异常处理 249

8.1 I/O标准流类 249

8.1.1 标准设备流 249

8.1.2 I/O流类 249

8.1.3 流对象及操作过程 250

8.2 格式化操作 252

8.2.1 格式控制 252

8.2.2 格式状态志 252

8.3 ios类的成员函数 253

8.3.1 ios类和ostream类的成员函数 253

8.3.2 ios类和istream类的成员函数 256

8.3.3 读取标准串 259

8.4 流操作算子 259

8.4.1 概念与应用 260

8.4.2 自编流操作算子 261

8.4.3 流操作算子与状态标记合用 262

8.5 文件流类 263

8.5.1 概念 263

8.5.2 使用方法 264

8.5.3 应用举例 264

8.6 串流类 268

8.6.1 串流类处理字符串 268

8.6.2 串流类处理文件 269

8.7 异常处理 270

8.7.1 异常处理的概念 270

8.7.2 异常处理的方法 270

8.7.3 异常处理的结构与要求 273

8.7.4 异常处理的嵌套 277

8.7.5 继承关系中的异常 278

本章要点 279

练习 280

附录A ASCII代码对照表 284

附录B 上机介绍 285

附录C 练习题参考答案 287

参考文献 325