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

  • 购买积分:13 如何计算积分?
  • 作  者:柏雪枫编著
  • 出 版 社:北京:学苑出版社
  • 出版年份:1994
  • ISBN:7507707768
  • 页数:381 页
图书介绍:

第一章 C++类 1

1.1 C和C++派生类型的比较 1

1.1.1 在C++里重新定义派生 1

1.1.2 C++封装 3

1.1.3 用struct来说明类 4

1.2 说明C++类 8

1.2.1 类的说明 10

1.2.2 使用this指针 22

1.2.3 public,private,protected关键字 27

1.3 编写类的成员函数 28

1.3.1 将成员函数与类联系起来 28

1.3.2 提供构造函数和析构函数 32

1.4 友元函数 36

1.4.1 在类里包含发元函数 36

1.4.2 决定何时使用友元函数 37

1.5 小结 38

第二章 建立C++对象 40

2.1 定义C++对象 40

2.1.1 将存储类分配给类对象 40

2.1.2 定义Arbitrary-Duration(任意位移量)类对象 42

2.1.3 定义局部(auto)类对象 57

2.1.4 定义全局(静志)类对象 66

2.2 初始化类对象 74

2.2.1 使用构造函数初始化类对象 74

2.2.2 初启程序列表的应用 76

2.3 小结 77

第三章 存取C++对象 79

3.1 作用域分辨运算符的应用 79

3.1.1 作用域分辨的一般应用 79

3.1.2 使用作用域分辨进行语法控制 81

3.1.3 用作用域分辨来控制多义性 83

3.2 C++作用域原则 87

3.2.1 C和C++作用域间的差别 88

3.2.2 考察C++作用域规则 89

3.3 与C++对象通信 92

3.3.1 向对象传递消息 92

3.3.2 对*this的理解 117

3.4 引用运算符 117

3.4.1 从Address-of运算符里衍生出引用运算符 118

3.4.2 理解引用运算符 118

3.5 将对象做为函数参数使用 119

3.5.1 通过值和通过引用来传送对象 119

3.5.2 从一个成员函数里存取其他对象 121

3.6 对象的指针 122

3.6.1 什么时候要用指针 123

3.6.2 说明对象的指针和数组 124

3.7 小结 126

第四章 重载函数和操作符 127

4.1 重载成员函数 127

4.1.1 C++的重载 127

4.1.2 说明重载的成员函数 130

4.2 重载友元函数和非成员函数 132

4.2.1 重载类的友元函数 132

4.2.2 重载非成员函数 137

4.3 类型安全的连接 138

4.3.1 函数合并 139

4.3.2 利用标准C的包含文件来控制连接问题 140

4.4 在C++中重载操作符 143

4.4.1 操作符的重载 143

4.4.2 说明重载操作符函数 149

4.4.3 重载二元操作符和一元操作符 157

4.5 重载下标操作符和函数调用操作符 159

4.5.1 使用重载的下标操作符 159

4.5.2 使用重载函数调用操作符 164

4.6 小结 168

第五章 构造函数和析构函数 169

5.1 构造函数和析构函数 169

5.1.1 说明构造函数和析构函数 170

5.1.2 使用构造函数初始化 176

5.1.3 何时调用构造函数 180

5.1.4 何时调用析构函数 188

5.2 重载构造函数 191

5.3 编写缺省构造函数 192

5.3.1 编写其他构造函数 194

5.3.2 确定何时需要一个拷贝构造函数 196

5.4 使用new()和delete()操作符 197

5.4.1 new和delete的使用 197

5.4.2 动态地建立和删除类对象 200

5.5 重载操作符new()和delete() 202

5.5.1 重载全局操作符 202

5.5.2 重载类的操作符 209

5.6 小结 211

第六章 使用C++流 213

6.1 C++流简介 213

6.1.1 C++流与标准流的比较 214

6.1.2 使用C++流进行标准I/O 216

6.2 处理C++流的错误 225

6.2.1 检测C++流错误状态 225

6.2.2 使用流状态成员函数 228

6.3 用C++流控制数据格式 229

6.3.1 在内部类型中使用插入和抽取符 229

6.3.2 重载<<和>>操作符 235

6.4 使用C++流操纵符 238

6.4.1 C++操纵符的概念 238

6.4.2 使用操纵符改变状态和属性 239

6.5 使用C++文件I/O流 247

6.5.1 读和写fstream文件 251

6.5.2 用C++流进行文件定位 253

6.6 使用和转换旧式的C++流 255

6.6.1 新旧C++流的区别 256

6.6.2 转化为新的C++流 257

6.7 小结 258

第七章 C++派生类 260

7.1 无继承性的代码重用 260

7.1.1 代码的重用性 260

7.1.2 通过组合重新使用代码 261

7.2 使用单个基类 264

7.2.1 理解是继承 264

7.2.2 说明基类和派生类 265

7.3 一个实际项目:扩展内存支持 273

7.3.1 扩展内存说明(XMS) 273

7.3.2 建立XMS管理类 275

7.3.3 派生一个交换缓冲类 288

7.4 使用虚拟函数 291

7.4.1 使用迟后连接和虚拟函数 291

7.4.2 使用域限定控制符来控制成员函数的访问 295

7.5 多基类 296

7.5.1 从多个基类中派生 296

7.5.2 说明和使用虚拟基类 300

7.6 从抽象类中派生类 301

7.6.1 纯虚拟函数 302

7.6.2 纯虚拟函数的实现 302

7.7 在继承时使用构造函数和析构函数 304

7.7.1 初始化代码不能继承 304

7.7.2 在继承时调用构造函数和析构函数的顺序 304

7.7.3 使用虚拟析构函数 304

7.8 小结 304

第八章 对象控制、性能及其他 308

8.1 用户自定义类型转换 308

8.1.1 使用类的构造函数进行类型转换 308

8.1.2 类型操作符的重载 310

8.2 使用generic类 314

8.2.1 抽象和generic类的设计 314

8.2.2 构造generic类 317

8.3 控制对象的行为与性能 325

8.3.1 使用友元函数以提高效率 325

8.3.2 使用友元函数来控制对象句法 326

8.3.3 使用静态存储类来避免重复建立 328

8.3.4 使用可引用量和指针 331

8.3.5 使用直接插入函数来除去函数调用 333

8.4 类对象控制的发展方向 334

8.4.1 类和函数模板 334

8.4.2 异常处理 337

8.5 小结 338

第九章 使用Turbo Vision 339

9.1 Turbo Vision的概念 339

9.1.1 什么是应用程序框架 339

9.1.2 为什么要使用Turbo Vision的应用程序框架 340

9.1.3 使用面向对象的代码的好处 340

9.1.4 事件驱动编程的好处 341

9.2 Turbo Vision应用程序 341

9.2.1 事件 342

9.2.2 视口 342

9.2.3 哑对象 342

9.3 编写第一个Turbo Vision应用程序 343

9.3.1 编写一个基本的Turbo Vision应用程序 343

9.3.2 增加菜单支持 345

9.4 使用Turbo Vision建立窗口 349

9.4.1 在Turbo Vision应用程序中增加窗口 349

9.4.2 在Turbo Vision中增加文本 354

9.4.3 使用对话框窗口 359

9.5 小结 366

附录A quad类程序清单 368