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

  • 购买积分:13 如何计算积分?
  • 作  者:张鸿,冯文新主编
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2008
  • ISBN:7307060159
  • 页数:373 页
图书介绍:本书共八章,分别介绍面向对象程序设计的基本概念、C语言的基本语法知识、类与对象的基本概念及定义、继承性、多态性、模版、输入输出流和文件处理、异常处理。

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

1.1 面向对象思想的产生背景 1

1.2 面向对象程序设计的基本概念 4

1.2.1 对象和类 4

1.2.2 消息和方法 4

1.3 面向对象程序设计的基本特性及其优点 5

1.3.1 基本特性 5

1.3.2 面向对象程序设计的优点 6

1.4 面向对象程序设计语言的发展 7

1.5 重点与难点 8

习题一 9

第2章 C++基础 10

2.1 C++源程序的结构 10

2.1.1 面向过程的C++源程序 10

2.1.2 面向对象的C++源程序 13

2.2 C++源程序上机的基本步骤 14

2.3 标识符 15

2.4 基本数据类型 15

2.5 常量与变量 17

2.5.1 常量 17

2.5.2 变量 20

2.5.3 数据类型转换 22

2.6 运算符与表达式 22

2.6.1 算术运算符与算术表达式 24

2.6.2 赋值运算符与赋值表达式 25

2.6.3 自增(++)、自减(--)运算符 27

2.6.4 关系运算符与关系表达式 30

2.6.5 逻辑运算符与逻辑表达式 30

2.6.6 条件运算符与条件表达式 31

2.6.7 逗号运算符与逗号表达式 33

2.6.8 sizeof运算符 33

2.6.9 位运算符 34

2.7 数据的简单输入和输出 36

2.7.1 输入操作 36

2.7.2 输出操作 37

2.8 C++语句 39

2.9 程序的基本控制结构 40

2.9.1 顺序结构 40

2.9.2 选择结构 41

2.9.3 循环结构 49

2.10 构造数据类型、枚举类型和typedef 64

2.10.1 数组 64

2.10.2 结构体 85

2.10.3 共用体 92

2.10.4 枚举 94

2.10.5 类型定义typedef 95

2.11 函数和文件 96

2.11.1 函数定义与函数原型声明 97

2.11.2 函数调用和函数的返回值 99

2.11.3 函数参数 100

2.11.4 函数的嵌套调用和递归调用 105

2.11.5 变量的存储属性 112

2.11.6 内部函数和外部函数 125

2.12 编译预处理命令 126

2.12.1 宏定义 126

2.12.2 文件包含 130

2.12.3 条件编译 132

2.13 指针 134

2.13.1 地址、指针和指针变量 134

2.13.2 指针与数组 139

2.13.3 指针与函数 144

2.13.4 指针的运算 149

2.14 C++在非面向对象方面的一些扩充 151

2.14.1 单行注释 151

2.14.2 变量、函数等的声明位置 151

2.14.3 变量的初始化 152

2.14.4 强制类型转换 152

2.14.5 作用域运算符 152

2.14.6 函数原型 153

2.14.7 void型指针 153

2.14.8 const修饰符 154

2.14.9 内联函数 156

2.14.10 带有缺省参数的函数 158

2.14.11 函数(名)重载 159

2.14.12 new和delete运算符 161

2.14.13 引用(reference) 163

2.14.14 无名共用体 168

2.14.15 结构体名、共用体名和枚举名直接作为数据类型名使用 168

2.15 C++中标识符的作用域 168

2.15.1 函数原型作用域 168

2.15.2 块作用域 169

2.15.3 函数作用域 170

2.15.4 文件作用域 171

2.16 重点与难点 171

习题二 171

第3章 类与对象 178

3.1 类和对象的定义 178

3.1.1 类 178

3.1.2 对象 185

3.1.3 类作用域 188

3.2 this指针 190

3.3 构造函数与析构函数 192

3.3.1 构造函数(constructor) 192

3.3.2 拷贝构造函数(copy constructor) 196

3.3.3 析构函数(destructor) 206

3.4 const对象和const成员函数 208

3.4.1 const对象 208

3.4.2 const成员函数 209

3.5 对象数组 211

3.6 静态成员 214

3.6.1 静态数据成员 215

3.6.2 静态成员函数 218

3.7 友员 221

3.7.1 友员函数 221

3.7.2 友员类 224

3.8 指向类成员的指针 226

3.9 重点与难点 228

习题三 229

第4章 继承性 233

4.1 概述 233

4.1.1 继承与派生 233

4.1.2 访问控制 234

4.1.3 成员覆盖 235

4.2 单继承 235

4.2.1 单继承派生类的定义 235

4.2.2 派生类的构造函数与析构函数 239

4.2.3 基类对象与派生类对象的初始化 242

4.3 多继承 244

4.4 支配规则、赋值兼容规则和二义性 245

4.4.1 支配规则 245

4.4.2 赋值兼容规则 246

4.4.3 二义性 247

4.5 虚基类 247

4.5.1 使用虚基类消除二义性 247

4.5.2 虚基类的初始化 249

4.6 重点与难点 251

习题四 251

第5章 多态性 255

5.1 多态性概述 255

5.1.1 多态性的类型 255

5.1.2 多态性的实现方式 256

5.2 运算符重载 256

5.2.1 运算符重载的限制 257

5.2.2 运算符重载函数 257

5.3 几个常用运算符的重载 269

5.3.1 赋值运算符“=”的重载 269

5.3.2 数组下标运算符“[]”的重载 274

5.3.3 函数调用运算符“()”的重载 276

5.4 类型转换 278

5.4.1 系统预定义类型之间的转换 278

5.4.2 用户定义类型与其他数据类型之间的转换 279

5.5 虚函数 287

5.5.1 引例 287

5.5.2 虚函数 289

5.5.3 覆盖与函数重载 294

5.5.4 多继承中的虚函数 296

5.5.5 虚函数的实现 300

5.5.6 纯虚函数 303

5.5.7 抽象类 305

5.6 重点与难点 307

习题五 307

第6章 模板 309

6.1 何谓模板 309

6.1.1 引例 309

6.1.2 基本概念 309

6.1.3 模板声明 310

6.2 函数模板与模板函数 310

6.2.1 函数模板 310

6.2.2 模板函数 311

6.2.3 函数模板的重载 312

6.3 类模板与模板类 313

6.3.1 类模板 313

6.3.2 模板类 313

6.3.3 类模板的派生 316

6.4 标准模板 318

6.4.1 容器 319

6.4.2 迭代器 320

6.4.3 算法 320

6.5 名称空间 320

6.5.1 定义名称空间 321

6.5.2 使用名称空间 322

6.6 重点与难点 324

习题六 324

第7章 C++输入输出流和文件处理 327

7.1 C++输入和输出基础 327

7.1.1 C与C++输入/输出的对比 327

7.1.2 C++中的流和缓冲区概念 328

7.1.3 iostream文件 331

7.1.4 iostream的几个常用对象 332

7.2 标准输出和输入 333

7.2.1 标准输出 333

7.2.2 刷新输出缓冲区 335

7.2.3 标准输入 336

7.3 一些ostream的非标准方法 337

7.3.1 非标准输出的一些方法 337

7.3.2 非标准输入的一些方法 340

7.4 格式操作符 340

7.5 文件流 346

7.5.1 打开文件 347

7.5.2 文件操作 348

7.5.3 关闭文件 350

7.5.4 数据的读取与写入 351

7.6 字节流(内存流) 353

7.6.1 输入流 353

7.6.2 输出流 354

7.7 重点与难点 355

习题七 355

第8章 异常处理 357

8.1 异常及其特性 357

8.2 异常处理的基本语法 359

8.2.1 try块 359

8.2.2 catch异常处理器 359

8.2.3 throw语句 360

8.3 try/throw/catch的应用实例 361

8.4 重点与难点 365

习题八 366

附录A ASCII码字符集 367

附录B C++关键字 368

附录C Visual C++常用库函数 369

附录D 常用运算符的功能、优先级和结合性 372

参考文献 373