《面向对象Visual C++编程技巧》求取 ⇩

引言1

第一部分 Visual C++1

第一章 Microsoft Visual C++1

关于Visual C++1

目 录1

Visual C++的其它特点2

The Visual Work bench编辑器2

标准版和专业版5

安装Visual C++需做哪些准备6

安装Visual C++6

单步和多步安装7

The Visual Work bench7

使用Visual C++8

编写一个Visual C++程序9

关于Quick Win9

Visual C++的project10

建立一个Quick Win示例程序11

小结14

C++发展简史15

第二章 良好的C++15

学习C++语言16

C++的注解行19

一个较好的办法19

C语言和C++的混合注释19

关键字20

C++的关键字:完整的关键字表20

Visual C++中未实现的关键字22

Visual C++独有的关键字23

标识符24

数据类型25

25

字符型25

整型26

浮点型26

聚合数据类型27

结构30

联合33

指针类型35

Void类型36

引用类型36

typedef说明语句38

小结39

第三章类型限定语40

const限定语40

const限定语的使用40

C语言和C++中的const对象41

使用const限定语的优点41

用函数初始化一个const42

const对象的新特点42

const对象的增强性能42

返回const对象的函数43

把一个const数组传递给函数43

const修饰语如何工作44

修改一个const对象的链接44

在指针说明语句中使用一个const44

使用带指针的常量45

何时常量不是const?45

在哪里放置一个const46

指向一个const的地址46

指向const对象的const指针47

Volatile限定语47

Volatile限定语的作用47

说明一个对象既是const又是Volatile48

小结48

第四章变量49

C++中的变量说明49

初始化与赋值50

初始化一个const51

初始化外部数据51

初始化常量和引用51

初始化一个引用51

函数形式的初始化52

引用54

定义引用54

引用的作用能力56

初始化引用56

用作别名的引用57

利用值来传递自变量59

把引用作为参数传递给函数59

利用地址传递自变量60

利用引用传递自变量61

如何不使用引用62

访问被引用结构的元素62

编写一个返回引用的函数63

使用对Const对象的引用65

小结65

存储类66

外部存储类66

第五章变量的特性66

静态存储类67

作用域69

局部作用域69

函数作用域70

文件作用域70

原型作用域71

解决标识符名字中的冲突71

作用域的优先级71

作用域分解运算符72

说明的位置72

生存期73

链接73

小结74

第六章函数75

main()函数75

定义一个函数76

c++形式的函数定义77

函数原型的例子78

函数原型78

建立函数原型的规则79

重载函数80

使用函数重载80

名字mangling81

lnline函数81

缺省的函数自变量82

可变的自变量表83

C语言中可变的自变量表83

C++中可变的自变量表83

编写可变的自变量表84

STDARG.H函数85

给函数传递自变量…………………………………………………………………………………(8?)维护传递函数数据的安全性………………………………………………………………………把一个自变量说明为一个常量87

调用函数来初始化常量88

小结89

第七章编译Visual C++程序90

建立一个Visual C++程序90

加快编译速度91

使用预编译的文件91

编译一个Visual C++程序91

使用快速编译选项92

使用Disk-caching程序92

使用RAM程序92

标识符92

把程序编译成P代码92

C和C++编译程序93

利用Visual Workbench编译程序93

New Project对话框94

Project Options对话框95

Quick Win程序和其它应用95

把系统配置成适于使用命令行编译98

Visual C++预处理器99

头文件100

头文件的使用100

头文件的内容101

头文件的嵌套101

带括号〈 〉和引号“”的#include指令101

预编译的头文件和预编译的文件102

预处理器如何找到头文件102

#define指令103

用#define建立常量104

#define指令的局限性104

用#define建立宏105

条件编译指令106

用编译指令来写注释107

#if指令107

#else和#elif指令108

#ifdef和#else指令的组合108

Charizing109

其它的预处理指令109

Visual C++预处理器的特性109

Stringizing110

Token合并111

三字符组的替换113

预定义的宏113

小结114

建立一个project115

Linker按钮115

第八章链接Visual C++程序115

使用Linker Options对话框116

获得命令行选项的帮助信息117

链接一个C++程序117

Visual C++提供的库117

C++与其它语言的混合118

名字mangling119

可供选择的链接说明119

extern关键字119

函数修饰语120

链接说明的影响力120

C语言调用规范121

Pascal/FORTRAN调用规范122

寄存器调用规范123

——asm修饰语123

第九章存储管理125

关于本章125

分段存储126

分段存储的工作原理126

near调用和far调用127

存储段和段边界127

80×86芯片的段寄存器127

段如何进行覆盖128

段:偏移量寻址128

存储模式128

实模式128

保护模式129

标准模式和增强模式129

标准模式129

存储模型的机理130

增强模式130

存储模型130

存储模型与指针131

覆盖和MOVE实用程序131

存储模型的判断132

使用存储模型的优点132

六个存储模型133

Tiny存储模型133

Small存储模型133

Huge存储模型134

near指针134

关于Visual C++中指针的使用134

Medium存储模型134

Large存储模型134

Compact存储模型134

far指针135

huge指针135

new操作符的实现方法136

new和delete操作符136

指向未说明的数据类型的指针136

指向void的指针136

给存储空间初始化一个值137

new操作符的使用137

给数组分配存储空间139

交互地分配存储空间139

给无定长的数组分配存储空间140

释放分配给数组的存储空间140

通过调用函数分配存储空间141

低级存储条件的处理142

delete操作符的使用142

_set_new handler()函数143

new如何分配存储空间144

near,far和基本存储空间144

重载new和delete操作符144

operator new()和operator delete()函数144

size_t类型146

给new操作符增加参数146

重载_set_new_handler()147

使用new修改存储池(memory pools)147

保存和恢复一个新的handler148

恢复_set_new_handler()的缺省行为148

可修改的_set_new_handler()函数148

Windows环境下的存储管理148

Windows系统的工作情况149

Windows和段寄存器149

描述符150

小结151

关于OOP153

容易误解的概念153

第二部分面向对象的程序设计153

第十章面向对象的程序设计153

OOP的争议点154

OOP的原理154

OOP是如何开始的155

从COBOL到Simula155

C++的出台155

代码重用156

C++的益处156

C++程序设计的技巧与宗旨157

华尔街(Wall Street)的模拟158

一个工厂的仿真158

项目(projects)规划中的问题160

C++的词典160

C++的特性162

数据封装与数据抽象163

多重继承164

继承性164

多形性165

C++程序的组成元素167

类和对象167

成员变量168

成员函数168

小结168

第十一章类170

struct性能的增强170

对一个struct中的数据的访问限制171

在struct中保存一个函数171

C++风格的struct171

从struct到class172

例示(initiating)一个对象173

对象例示的图例173

访问类的成员173

成员函数174

域分解操作符175

访问限定语175

类和对象176

类的图解181

Zalthar程序中的数据抽象182

抽象类183

类的细化(subclassing)183

虚函数185

另外一个程序例子188

类库190

小结191

第十二章对象192

从结构到对象192

C语言结构的缺点194

对象的使用195

如何建立对象195

初始化对象的两种方法195

定义一个对象的内容195

构造函数196

析构函数201

成员变量201

指向成员变量的指针201

成员变量数组204

静态成员变量206

常量型成员变量206

静态成员函数213

为对象分配存储空间213

动态地分配存储空间214

框架分配215

堆分配216

访问对象的成员217

在函数头中使用(::)操作符219

封装(Encapsulation)222

访问限定语222

对访问限定语的解释224

使用访问限定语224

public访问限定语225

private访问限定语225

protected访问限定语226

公用的派生类和私有派生类226

公用的派生(public Derivation)226

建立一个类的多个对象227

建立对象数组227

私有的派生(private Derivation)227

建立指向对象的指针数组231

设计类的技术233

嵌套类233

复合类234

局部类235

友元类(friend class)236

不完全类说明236

空类237

this指针238

具有静态生存周期的对象238

具有外链接的对象238

对象的作用域和链接238

小结240

第十三章成员函数241

成员函数的功能241

成员函数的种类241

访问成员函数241

说明和定义成员函数243

指定成员函数的返回值244

const和volatile关键字245

具有常量型this指针的成员函数246

具有可变的this指针的成员函数247

静态和非静态的成员函数249

inline成员函数249

inline成员函数的工作过程251

访问一个inline成员函数251

inline成员函数和栈252

重载成员函数252

虚函数和多形性253

超越(overriding)成员函数253

虚函数253

纯虚函数254

友元(friend)254

friend关键字254

友元类和友元函数256

建立友元类之间的联系桥梁(Bridge)257

使用“桥”(bridge)函数的另一种选择形式259

静态成员函数260

static关键字266

初始化一个静态成员变量267

使用静态成员函数267

指向成员函数的指针268

使用指向普通函数的指针268

使用指向成员函数的指针269

指向成员函数的指针数组270

指向静态成员函数的指针272

小结273

两类构造函数275

建立构造函数275

第十四章构造函数和析构函数275

建立无构造函数的对象277

析构函数277

安全地使用析构函数277

如何调用析构函数278

使用析构函数278

析构的序278

构造函数的工作过程279

Zalthar程序中的析构函数279

构造函数的种类280

调用一个构造函数282

调用构造函数的其它方法282

使用构造函数的基本规则283

使用构造函数的优点283

构造函数有助于存储管理284

构造函数可以进行初始化和对值进行检查284

转换构造函数和复制构造函数286

用构造函数初始化变量286

缺省的构造函数288

何时调用缺省的构造函数289

构造函数重载289

调用一个缺省的构造函数289

使用构造函数290

具有多个构造函数的类294

构造的顺序295

在warrior程序中调用构造函数296

构造一个const对象296

按顺序的构造296

小结298

第十五章函数重载299

函数重载的原理299

函数重载的基本规则300

自变量匹配301

自变量匹配的工作原理304

自变量匹配的步骤304

函数重载和作用域307

重载构造函数308

派生类中的重载函数309

重载虚函数310

作用域分解操作符310

重载静态成员函数311

转换函数312

小结314

第十六章操作符重载315

操作符重载的工作原理315

操作符重载的一个例子315

编写操作符重载函数316

算术操作中使用操作符重载316

操作符重载函数的作用域317

操作符重载函数的格式317

重载一元和二元操作符317

可被重载的操作符318

操作符重载:秘密与技巧318

不可重载的操作符319

C++如何实现操作符重载320

操作符重载的规则321

重载++和--操作符322

重载操作符的成员函数322

重载二元操作符+和-325

重载+=操作符327

重载=操作符329

重载关系操作符345

重载[ ]操作符347

重载( )操作符350

重载&操作符351

重载->操作符352

重载数据类型357

重载new和delete358

重载new和delete的规则360

非成员的重载函数361

编写一个非成员的操作符重载函数362

一个操作符重载的友元函数363

另一个操作符重载友元函数365

小结367

第十七章转换函数368

转换函数的工作过程368

函数风格的casts(造型)369

造型(Casting)369

造型带来的麻烦369

使用函数风格的casts370

函数风格casts的使用规则370

转换用户自定义的数据类型370

转换构造函数371

为转换函数定义一个类373

定义一个转换构造函数373

把一个变量转换成一个具有多个元素的类374

一个更高级的转换函数376

把一个变元转换成一个多元素的类377

TIME.H库中的函数377

转换构造函数的执行步骤378

成员转换函数379

编写一个成员转换函数379

成员转换函数的操作过程380

使用成员转换函数381

成员转换函数示例382

小结384

1705.CPP程序中使用的数据类型384

第十八章复制对象385

复制构造函数和Operator=函数385

编写一个Operator=函数386

调用一个复制函数386

举例说明析构的问题387

编写一个复制构造函数389

operator=函数的工作过程392

strcpy()函数394

复制串394

此程序的工作过程398

给串分配存储空间398

存储分配的另一种选择399

在Zalthar程序中增加一个串类399

新的Zalthar程序的工作过程404

串类(sting classes)405

串类的功能405

使用重载的赋值操作符406

赋值操作符重载406

用复制构造函数初始化一个串对象406

使用串类406

小结407

第十九章继承性与多形性408

派生类408

使用派生类的理由408

使用派生类的好处409

新的Zalthar程序的层次结构414

构造函数和析构函数的继承原则415

通过指针来访问对象417

虚函数418

调用虚函数418

纯虚函数418

超越虚函数421

域分解操作符422

虚函数如何实现422

虚函数:正论与反论424

多重继承性424

多重继承性图解424

动物王国里的多重继承性425

虚基类427

继承链中的函数名冲突428

小结430

第二十章流(streams)431

iostream类是如何实现的431

iostream库433

与流相关的头文件433

Microsoft iostream类库433

ios类和它的子类434

iostream的层次结构434

使用流437

流中的混合数据类型438

格式化输出439

setw设备操作符444

设置补白字符(padding characters)445

cin〉〉和cout〈〈的多种选择形式445

cin〈〈的操作符的多种选择形式446

cout〈〈操作符的多种选择形式449

重载〉〉操作符450

重载〈〈和〉〉450

重载〈〈操作符450

文件的输入/输出(I/O)451

打开,使用和关闭一个流文件452

文件流452

Of stream和ifstream类452

fstream类453

小结457

第二十一章 The Microsoft Foundation Classes(MFC)459

第三部分MFC库459

多种用途的类460

Cobject类461

使用Cobject类的优点461

串行化(serialization)462

DYNACREATE宏467

DYNAMIC宏467

诊断帮助468

异常处理471

其它的MFC类472

文件类473

收集(collection)类474

CString类475

与时间相关的类475

程序范例476

程序范例的层次结构476

编译程序范例477

运行程序范例478

小结497

消息驱动的(message-driven)程序499

Visual Workbench的组成部分499

第二十二章 The Visual Workbench499

C++程序的层次结构500

Win Main()函数501

文档和视图501

Visual Workbench的工具503

App Wizard504

App Studio508

建立人物对话框的工作过程513

ClassWizard的工作原理515

使用ClassWizard515

ClassWizard窗口515

命令联编(binding)517

建立对话框517

程序范例520

小结562

第二十三章窗口和视图564

文档和视图的实现原理565

CDocument类的特征565

使用文档566

CView类的特征566

Visual C++中Windows(窗口)的工作机理567

Windows的类567

CWnd类568

Windows的五个大类568

对话框576

CDialog类576

对话框的工作原理577

按照旧的方式检索数据580

小结581

第二十四章Visual C++的图形582

CDC类582

CDC的子类583

CGdiObject类583

使用CDC和CGdiObject类584

名字的含义584

在Visual C++中创建图形584

OnPaint()函数和OnDraw()函数586

Visual C++图形的建立步骤586

OnDraw()函数的使用步骤587

用CDC和GDI对象画出文本588

创建和删除图形对象588

图形对象的单步创建过程589

图形对象的两步建立过程589

在Visual C++中使用位图590

创建一个位图对象590

画不规则形状593

画出Zalthar程序中的游戏人物594

动画596

Zalthar:最后一幕598

小结639

附录A ASCII码表641

附录B 80×86芯片家族643

8086和8088处理器643

8086,8088和实模式643

段:偏移量寻址的机理643

段寄存器和偏移量寄存器644

段:偏移量寻址中存在的模糊性645

段:偏移量寻址:一个更复杂的例子645

80286微处理器647

保护模式和段:偏移量寻址647

386处理器648

386的保护模式648

虚拟8086模式649

486处理器649

在C++程序中使用指针649

参考文献651

1997《面向对象Visual C++编程技巧》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(M.安德鲁斯)Mark Andrews著;綦建平等译 1997 北京:电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Visual C++实用编程技术  从C++、面向对象到窗口程序设计(1999 PDF版)
Visual C++实用编程技术 从C++、面向对象到窗口程序设计
1999 武汉:华中理工大学出版社
微型计算机软件基础技术 (M6800系,8080系,Z-80系)(1986年03月第1版 PDF版)
微型计算机软件基础技术 (M6800系,8080系,Z-80系)
1986年03月第1版
Turbo C++-面向对象的程序设计( PDF版)
Turbo C++-面向对象的程序设计
云南省计算技术研究所;中国科学院希望高级电脑技术公司
Visual c++ 2.0 windows95程序设计( PDF版)
Visual c++ 2.0 windows95程序设计
C++和OSF/Motif面向对象的混合编程技巧( PDF版)
C++和OSF/Motif面向对象的混合编程技巧
北京希望电脑公司
C++面向对象程序设计实用教程(1999 PDF版)
C++面向对象程序设计实用教程
1999 北京:北京航空航天大学出版社
Visual FoxPro 3.0面向对象编程(1995 PDF版)
Visual FoxPro 3.0面向对象编程
1995 成都:成都科技大学出版社
面向对象的编程指南(1996 PDF版)
面向对象的编程指南
1996 北京:电子工业出版社
Microsoft Visual C++4.1编程技巧指南(1997 PDF版)
Microsoft Visual C++4.1编程技巧指南
1997 成都:电子科技大学出版社
面向对象编程的C++/ES(1992 PDF版)
面向对象编程的C++/ES
1992 北京:中国铁道出版社
Visual C++ 6.0编程经验和技巧(1999 PDF版)
Visual C++ 6.0编程经验和技巧
1999 青岛:青岛出版社
Visual C++ 6.0编程实例技巧(1999 PDF版)
Visual C++ 6.0编程实例技巧
1999 武汉:华中理工大学出版社
Visual Basic 6 面向对象程序设计(1999 PDF版)
Visual Basic 6 面向对象程序设计
1999 北京:人民邮电出版社
面向对象Visual C++和Windows编程指南与实例(1996 PDF版)
面向对象Visual C++和Windows编程指南与实例
1996 西安:西安交通大学出版社
面向对象的程序设计与C++教程(1995 PDF版)
面向对象的程序设计与C++教程
1995 北京:电子工业出版社