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

  • 购买积分:13 如何计算积分?
  • 作  者:李春葆,董尚燕,余云霞编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302169543
  • 页数:397 页
图书介绍:本书介绍C++面向对象程序设计方法。

第1章 C++基础 1

1.1 C++概述 1

1.1.1 计算机语言种类 1

1.1.2 程序设计方法 2

1.1.3 C++语言及其特点 4

1.1.4 C++程序的基本结构 5

1.1.5 C++程序的开发步骤 8

1.2 C++语言初识 9

1.2.1 数据类型 9

1.2.2 常量 10

1.2.3 变量 12

1.2.4 数据的输入和输出 13

1.3 控制语句 16

1.3.1 顺序控制语句 17

1.3.2 选择控制语句 17

1.3.3 循环控制语句 20

1.3.4 跳转语句 23

1.4 构造数据类型 25

1.4.1 数组类型 25

1.4.2 枚举类型 27

1.4.3 结构体类型 27

1.4.4 共用体类型 29

1.4.5 用户自定义类型 30

1.5 指针 31

1.5.1 指针的定义 32

1.5.2 指针的初始化 32

1.5.3 指针的运算符 34

1.5.4 指针和数组的关系 34

1.5.5 new与delete 35

1.6 函数 37

1.6.1 函数的定义和调用 37

1.6.2 全局变量和局部变量 39

1.6.3 函数的参数传递 42

1.6.4 内联函数 47

1.6.5 函数重载 48

1.6.6 域运算符 49

1.7 断言 50

练习题1 50

上机实验题1 52

第2章 类和对象(一) 53

2.1 类 53

2.1.1 类的声明 53

2.1.2 类的组织形式 55

2.1.3 类的作用域 56

2.1.4 类的成员函数 56

2.1.5 类的访问权限 57

2.1.6 类与结构体类型的区别 58

2.1.7 类的特点 59

2.2 对象 59

2.2.1 对象的定义格式 60

2.2.2 对象的数据成员访问方法 60

2.2.3 对象的成员函数调用方法 61

2.2.4 对象的存储空间 62

2.2.5 对象的赋值运算 63

2.3 构造函数 64

2.3.1 什么是构造函数 64

2.3.2 调用构造函数 65

2.3.3 重载构造函数 68

2.3.4 复制构造函数 69

2.4 析构函数 71

2.4.1 什么是析构函数 71

2.4.2 析构函数的性质 72

2.4.3 析构函数的调用 72

2.5 一个对象的生存期 74

2.6 对象浅复制与深复制 76

2.6.1 对象浅复制 76

2.6.2 对象深复制 77

2.7 静态成员 78

2.7.1 静态数据成员 78

2.7.2 静态成员函数 80

2.8 类成员指针 82

2.8.1 类数据成员指针 82

2.8.2 类成员函数指针 83

2.9 应用实例 84

练习题2 87

上机实验题2 90

第3章 类和对象(二) 91

3.1 常对象和常对象成员 91

3.1.1 常对象 91

3.1.2 常对象成员 93

3.2 类对象数组 94

3.3 子对象 97

3.3.1 has-a关系 97

3.3.2 子对象构造函数的设计和执行次序 98

3.3.3 子对象析构函数的设计和执行次序 99

3.3.4 前向引用声明 102

3.4 嵌套类 103

3.5 局部类 105

3.6 this指针 106

3.7 应用实例 109

练习题3 112

上机实验题3 115

第4章 友元 116

4.1 什么是友元 116

4.2 友元函数 116

4.2.1 声明友元函数 116

4.2.2 操作多个对象成员的友元函数 120

4.2.3 返回类对象的友元函数 122

4.3 友元类 123

4.4 应用实例 126

练习题4 130

上机实验题4 131

第5章 运算符重载 132

5.1 运算符重载概述 132

5.1.1 什么是运算符重载 132

5.1.2 运算符重载函数的定义格式 133

5.1.3 运算符重载函数的调用格式 134

5.2 重载单目运算符 136

5.2.1 重载“++”和“--”运算符 136

5.2.2 重载“->”运算符 138

5.3 重载双目运算符 139

5.3.1 重载双目运算符为成员函数 139

5.3.2 重载双目运算符为友元函数 143

5.4 重载比较运算符 144

5.5 重载赋值运算符 146

5.5.1 重载“+=”和“-=”运算符 146

5.5.2 重载“=”运算符 147

5.6 重载下标运算符 150

5.7 重载new与delete运算符 152

5.8 重载逗号运算符 154

5.9 重载类型转换运算符 155

5.10 重载函数调用运算符 156

5.11 应用实例 157

练习题5 162

上机实验题5 165

第6章 模板 166

6.1 模板概述 166

6.2 函数模板 167

6.2.1 声明函数模板 167

6.2.2 编写函数模板 168

6.2.3 使用函数模板 168

6.2.4 自定义参数类型 172

6.2.5 重载函数模板 173

6.2.6 函数调用的匹配顺序 174

6.3 类模板 175

6.3.1 声明类模板 175

6.3.2 使用类模板 177

6.3.3 类模板作为函数参数 179

6.3.4 类模板作为友元函数的形参类型 180

6.3.5 类模板与静态成员 180

6.3.6 类模板与无类型参数 181

6.4 应用实例 182

练习题6 190

上机实验题6 191

第7章 继承和派生 192

7.1 继承的概念 192

7.2 派生类的概念 193

7.2.1 派生类的定义格式 194

7.2.2 派生类的生成过程 195

7.2.3 类成员的访问权限 196

7.3 继承方式 196

7.3.1 公有继承 196

7.3.2 私有继承 198

7.3.3 保护继承 199

7.4 派生类继承成员的调整 203

7.4.1 恢复访问权限 203

7.4.2 重定义继承成员 204

7.4.3 重命名继承成员 205

7.4.4 屏蔽继承成员 206

7.5 派生类对象的存储组织 206

7.6 派生类的构造函数 208

7.7 派生类的析构函数 211

7.8 基类对象和派生类对象的使用关系 213

7.8.1 派生类对象作为基类对象处理 213

7.8.2 基类指针指向派生类对象 214

7.8.3 派生类指针强制指向基类对象 217

7.9 类层次中的类模板 218

7.9.1 从类模板派生类模板 218

7.9.2 从非模板类派生类模板 219

7.9.3 从类模板派生非模板类 220

7.10 虚基类 221

7.10.1 继承的重复问题 221

7.10.2 虚基类的声明 223

7.10.3 虚基类的构造函数 224

7.10.4 虚基类的析构函数 229

7.11 应用实例 230

练习题7 238

上机实验题7 242

第8章 虚函数和多态性 243

8.1 函数绑定 243

8.2 虚函数及其限制 246

8.2.1 声明虚函数 246

8.2.2 用虚函数实现多态性 248

8.2.3 限制虚函数 252

8.3 纯虚函数和抽象类 254

8.3.1 纯虚函数 254

8.3.2 抽象类 255

8.4 设计统一的公共接口 257

8.5 应用实例 259

练习题8 261

上机实验题8 265

第9章 C++流 266

9.1 什么是流 266

9.1.1 流的概念 266

9.1.2 缓冲流与非缓冲流 267

9.2 流类库 268

9.2.1 主要的流类 268

9.2.2 标准流 269

9.3 输入/输出流 271

9.3.1 输入流 271

9.3.2 输出流 272

9.3.3 流的格式控制 273

9.3.4 流的错误状态 278

9.4 重载输入/输出运算符 279

9.4.1 重载输出运算符“<<” 279

9.4.2 重载输入运算符“>>” 280

9.5 文件的操作 281

9.5.1 文件和流 281

9.5.2 文件的打开与关闭 281

9.5.3 文本文件的读写 283

9.5.4 二进制文件的读写 289

9.6 文件的随机读写 291

9.6.1 输出流随机访问成员函数 292

9.6.2 输入流随机访问成员函数 293

9.7 应用实例 294

练习题9 299

上机实验题9 301

第10章 异常处理和名字空间 302

10.1 异常处理概述 302

10.2 异常处理的实现 303

10.2.1 异常处理的语法 303

10.2.2 捕获异常 306

10.2.3 带有异常声明的函数原型 307

10.3 异常处理中对象的构造与析构 308

10.4 名字空间概述 310

10.4.1 名字空间的定义 311

10.4.2 名字空间的嵌套 316

10.4.3 std名字空间 319

10.5 应用实例 321

练习题10 323

上机实验题10 324

第11章 C++标准模板库基础 325

11.1 STL概述 325

11.1.1 STL的发展和特点 325

11.1.2 C++标准库 326

11.2 STL的使用 328

11.2.1 使用STL的名字空间 328

11.2.2 使用STL的示例 329

11.3 迭代器 330

11.4 容器 334

11.4.1 顺序容器 335

11.4.2 关联容器 339

11.4.3 适配器容器 343

11.5 算法 346

11.5.1 非可变序列算法 347

11.5.2 可变序列算法 347

11.5.3 排序相关算法 348

11.5.4 通用数值算法 348

11.6 string类型 350

11.6.1 使用string类型 350

11.6.2 建立string对象 351

11.6.3 应用find函数 352

11.7 应用实例 357

练习题11 360

上机实验题11 362

第12章 面向对象软件设计 363

12.1 软件工程概述 363

12.2 面向对象的软件工程 364

12.2.1 面向对象的基本概念 364

12.2.2 面向对象的特征 365

12.2.3 面向对象的要素 366

12.2.4 对象模型 367

12.2.5 面向对象的实现 370

12.3 图书管理系统设计 371

12.3.1 系统需求 371

12.3.2 系统设计及编程 372

12.3.3 系统运行 395

练习题12 396

上机实验题12 396

参考文献 397