《VisualC++面向对象程序设计》求取 ⇩

目录1

引言1

0.1 本书对象1

0.2 关于C++1

第1章 C++程序设计基础1

1.1 使用Microsoft Windows1

1.1.1 定义一个通用窗口1

1.1.2 定义一个对话框1

0.3 如何使用本书2

0.4 想学C++必须编写C++程序3

0.5 本书使用的一些约定4

0.6 关于示范程序4

1.2 安装Visual C++4

1.3.1 使用Visual工作平台5

1.3 使用Visual C++5

1.3.2 Visual工作平台的工具栏(toolbar)7

1.3.3 Visual工作平台的帮助系统8

1.3.3.1 搜索一个帮助主题(topic)9

1.3.3.2 复制WinHelp信息9

1.3.4 退出Visual工作平台9

1.4 Visual工作平台编辑器的用法9

1.4.1 操纵编辑器10

1.4.2 选择文本和实施块操作11

1.4.3 打开已存在的文件12

1.5 建立第一个C++程序13

1.5.1 建立一个项目文件14

1.5.2 编译用户程序15

1.5.3 运行用户程序16

1.5.4 QuickWin库16

1.6 一个C++示范程序17

1.6.1 cout和cin流18

1.6.2 编译和运行用户程序20

1.6.3 选择内存模式21

1.6.4 编译、链接和语法方面的错误22

1.7 C++程序的组成部分23

1.7.1 注解23

1.7.2 C++输入和输出23

1.7.3 C++函数23

1.7.4 变量23

1.7.5 符号常量24

1.7.6 表达式26

1.7.7 语句27

1.7.7.1 复合语句28

1.7.7.2 for循环语句28

1.7.8 函数30

1.8 本章小结31

1.9 复习题32

1.10 练习题33

第2章 C++的数据类型和表达式34

2.1 标识符34

2.2 基本数据类型35

2.2.1 整型35

2.2.2 长整数型36

2.2.3 字符型37

2.2.4 字符型变量的计算38

2.2.5 浮点类型39

2.2.5.1 浮点常量39

2.2.5.2 各种类型占内存的比较39

2.3 变量的作用域40

2.4.1 使用const44

2.4 定义符号常量44

2.4.2 使用#define45

2.5 表达式和C++操作符47

2.5.1 算术操作符47

2.5.2 赋值操作符49

2.5.3 关系操作符(Relational Operators)50

2.5.4 逻辑操作符(Logical Operators)52

2.5.5 位操作符52

2.5.5.1 使用<<和>>进行左移位和右移位53

2.5.5.2 测试单独的位54

2.5.5.3 设置位55

2.5.5.4 异或操作符55

2.5.6 其他的赋值操作符56

2.5.6.1 条件表达式操作符56

2.5.6.2 逗号操作符57

2.6 操作符的优先级58

2.7 类型转换58

2.8 枚举类型和枚举常量59

2.8.1 使用enum建立枚举类型60

2.8.2 用枚举类型来说明标志变量61

2.9 本章小结62

2.10 复习题63

2.11 练习题65

第3章 C++高级数据类型66

3.1 C++聚合数据类型66

3.2 数组66

3.2.1 说明数组67

3.2.2 初始化数组68

3.2.3 字符数组和字符串68

3.2.4 使用数组70

3.2.5 使用字符型数组的一个例子71

3.2.6 多维数组73

3.3 结构77

3.3.1 在赋值语句中使用结构79

3.3.2 结构的初始化79

3.3.3 结构数组80

3.3.4 结构中的结构83

3.3.5 位域84

3.4 typedef的用途85

3.5 联合86

3.6 对象简介88

3.7 本章小结93

3.8 复习题94

3.9 练习题95

4.1.1 if语句96

第4章 选择语句和循环语句96

4.1 判断和选择语句96

4.1.2 if-else 语句98

4.1.3 if-else if 语句98

4.1.4 switch 语句99

4.1.4.1 多个情形101

4.1.5 break语句101

4.2 循环语句101

4.2.1 for循环语句102

4.2.1.1 在for循环内定义控制变量103

4.2.1.2 使用字符型循环控制变量103

4.2.1.3 使用复杂的增量表达式104

4.2.1.4 省略for循环语句的某个部分104

4.2.1.5 使用for循环的两个例子104

4.2.2 break语句作为循环出口106

4.2.3 continue语句107

4.2.4 while循环语句108

4.2.5 do-while循环语句110

4.3 优化循环111

4.4 使用goto语句和语句标号112

4.5 本章小结113

4.6 复习题115

4.7 练习题115

第5章 指针117

5.1 理解指针117

5.2 使用指针118

5.2.1 使用NULL指针118

5.2.2 使用指针指向数组118

5.2.3 对指针进行算术运算119

5.2.4 捷径120

5.2.5 使用指针来加速数组访问速度121

5.2.6 指针的运算122

5.2.7 把一个指针赋给另一个指针122

5.3 动态内存分配123

5.3.1 堆123

5.3.2 操作符new124

5.3.3 操作符delete125

5.3.4 使用new和delete的例子125

5.3.5 用new建立多维数组127

5.3.6 内存耗尽127

5.3.7 动态内存空间的初始化127

5.3.8 指针问题127

5.3.9.1 方法1:只使用指针128

5.3.9.2 方法2:使用指针和位移量128

5.3.9 指针和数组一起使用128

5.3.9.3 方法3:使用指针作为数组129

5.3.9.4 上述三种方法的小结130

5.3.10 使用指针指向数组的程序130

5.3.11 指针数组131

5.4 指针和结构135

5.4.1 把指针放在struct定义中135

5.4.2 使用自访问结构136

5.4.3 实现链表140

5.5 Near,Far和Huge指针144

5.6 本章小结146

5.7 复习题147

5.8 练习题148

6.1 使用库函数149

第6章 函数和宏149

6.1.1 使用特殊的库函数150

6.1.2 使用字符串函数153

6.1.2.1 使用strcat()154

6.1.2.2 使用strcmp()154

6.1.2.3 使用strstr()155

6.1.2.4 使用memset()156

6.2 用户自定义函数157

6.2.1 函数的结果类型158

6.2.1.2 使用void返回类型159

6.2.2 函数的参数159

6.2.2.1 在参数中使用void159

6.2.2.2 定义参数变量159

6.2.2.3 使用传值参数160

6.2.2.4 使用引用参数161

6.2.2.5 建立参数的缺省值161

6.2.2.6 参数类型检查162

6.2.2.8 传值的过程163

6.2.2.7 理解参数传递163

6.2.2.9 传引用的过程164

6.2.2.10 使用指针作参数变量165

6.2.2.11 使用数组作为参数167

6.2.2.12 对数组类型使用引用操作符168

6.2.2.13 使用指针传递字符串168

6.2.2.14 使用结构作为参数168

6.2.2.15 传递结构数组170

6.2.2.16 使用参数修饰符const171

6.2.2.17 在参数说明中使用省略号172

6.3 在函数内部定义变量172

6.3.2 static变量173

6.3.3 寄存器变量173

6.3.1 auto变量173

6.4 函数定义与函数实现相分离174

6.5 为什么使用函数原型175

6.6 一个完整的样本程序176

6.7 重载函数181

6.8 函数模板182

6.9 类似函数的宏183

6.9.1 #undef指令186

6.9.2 使用宏的一些问题186

6.10 本章小结187

6.11 复习题188

6.12 练习题189

第7章 项目190

7.1 把程序分解成多个源文件190

7.1.1 分解用户程序190

7.1.2 建立源程序模块191

7.1.3 建立头文件193

7.1.4 建立一个主文件194

7.2 使用Visual工作平台建立项目196

7.2.1 向项目加入文件197

7.2.1.1 编辑项目生成文件中的文件197

7.2.1.2 编辑项目生成文件198

7.2.2 使用RebuildAll菜单选择项198

7.2.3 使用Build菜单选择项198

7.2.4 使用Compile菜单选择项199

7.2.5 使用工具栏按钮199

7.2.6 处理相关的一些问题199

7.2.7 使用DOS命令行199

7.3.1 定义标识符号200

7.3.2 使用#ifdef和#ifndef200

7.3 条件编译控制指令200

7.3.3 使用条件编译避免符号多次说明201

7.3.4 使用#if,#elif,#else和#endif202

7.3.5 使用defined()操作符203

7.4 变量的定义域203

7.4.1 函数域203

7.4.2 块域204

7.4.3 文件域204

7.4.4 函数原型域204

7.5 通过源文件访问变量及函数204

7.5.1 内部链接205

7.5.2 外部链接205

7.5.2.1 使用关键字extern205

7.5.2.2 用static关键字来限制链接206

7.6.2 80x86 CPU的寄存器207

7.6.1 80x86内存结构207

7.6 内存模式207

7.6.2.1 内存寻址208

7.6.2.2 near和far内存引用209

7.6.3 选择内存模式210

7.6.3.1 内存模式的限制211

7.6.3.2 内存模式的选择211

7.6.3.3 内存模式的未来212

7.7 本章小结212

7.8 复习题213

7.9 练习题213

第8章 类215

8.1 使用struct实现对象215

8.2 介绍C++的class关键字218

8.3 外联和内联函数220

8.4 构造函数221

8.4.1 使用构造函数222

8.4.2 具有多构造函数的类222

8.4.3 拷贝构造函数222

8.4.4 缺省构造函数223

8.5 析构函数223

8.6 对象指针224

8.6.1 使用指针的第二个例子226

8.6.2 释放对象指针227

8.7 对象数组227

8.8 对象作为函数的参数228

8.9 类的静态数据成员228

8.10 实现链表类232

8.11 *this指针233

8.12 友元235

8.13 重载操作符函数237

8.13.1 重载单目和双目操作符243

8.13.2 用友元实现重载操作符244

8.13.3 用重载操作符实现定点运算245

8.14 本章小结248

8.15 复习题248

8.16 练习题249

第9章 继承性250

9.1 如何实现继承性250

9.1.1 protected关键字254

9.1.2 派生类和访问区分符255

9.1.3 调用基类的构造函数256

9.1.4 sprintf()函数256

9.1.5 继承的成员数据256

9.1.6 类和类型兼容性260

9.2 如何实现多重继承性261

9.3 本章小结264

9.4 复习题265

9.5 练习题265

第10章 虚拟函数与多态性266

10.1 Overridden函数的问题266

10.2 为什么需要用虚拟函数269

10.3 虚拟函数如何工作272

10.4 选择静态的还是选择虚拟的273

10.5 多态性274

10.5.1 设计一个支持多态性的类274

10.5.2 用虚拟函数实现多态性278

10.5.3 在图形应用程序中使用多态性函数284

10.5.4 用多态性函数实现一个列表框284

10.5.6 从抽象类派生出一个子孙类287

10.5.5 创建一个函数287

10.6 对象库288

10.7 设计面向对象的程序289

10.8 本章小结290

10.9 复习题291

10.10 练习题291

第11章 C++的输入和输出292

11.1 屏幕输出292

11.2 从键盘输入293

11.2.1 文本和字符输入294

11.2.1.1 get(char )294

11.2.1.2 get()294

11.2.1.3 getline(char*buffer,int,char=′\n′)294

11.2.1.4 eatwhite()294

11.3.1.2 endl295

11.3.1.1 dec295

11.3.1.3 ends295

11.3 格式化输出295

11.3.1 使用操作器295

11.2.1.5 ignore(int n=1,int delim=EOF)295

11.3.1.4 flush296

11.3.1.5 hex296

11.3.1.6 oct296

11.3.1.7 ws296

11.3.1.8 setbase(int n)296

11.3.1.9 setfill(int c)296

11.3.1.10 setprecision(int n)297

11.3.1.11 setw(int n)297

11.3.2 设置流的格式化标志297

11.3.2.1 setiosflags()和resetiosflags()297

11.3.3.3 width(int)和width()298

11.3.3.2 precision(int)和precision()298

11.3.2.2 setf()和unsetf()298

11.3.3.1 fill(char)和fill()298

11.3.3 格式输出函数298

11.4 处理流错误299

11.4.1 检测流错误299

11.4.2 测试文件结束状态299

11.4.3 检测具体的错误状态299

11.4.4 清除错误状态300

11.5 用户自定义类的输入和输出300

11.6 格式化字符串流303

11.6.1 使用ostrstream303

11.6.2 使用istrstream305

11.7 磁盘文件的输入输出306

11.7.1 向文件写文本输出306

11.7.2 从文件中读文本输入307

11.7.2.1 get()和put()308

11.7.2.2 文件拷贝310

11.7.3 使用二进制数据文件311

11.7.4 随机访问数据文件313

11.8 打印315

11.9 本章小结315

11.10 复习题316

11.11 练习题317

第12章 Visual C++程序的调试318

12.1 程序中的三种错误318

12.1.1 语法错误318

12.1.2 运行错误319

12.1.2.1 测试函数返回值319

12.1.3 逻辑错误320

12.1.2.2 异常处理320

12.2 在交付用户之前查找错误321

12.2.1 使用桌面检查和代码预审322

12.2.2 使用代码复审323

12.2.3 防止未来的问题323

12.3 为调试程序做准备325

12.3.1 使用DebugBuilds及ReleaseBuilds325

12.3.2 创建DebugBuild325

12.4 使用集成调试工具326

12.4.1 控制程序执行327

12.4.2 设置断点327

12.4.3 检查和修改变量327

12.4.3.1 用QuiCkWatch对话框查看变量328

12.4.3.2 修改变量328

12.4.4.2 设置调试工具选项329

12.4.4.1 使用Call Stack对话框329

12.4.4 调试工具的其他作用329

12.5 使用调试窗口331

12.5.1 Watch窗口331

12.5.1.1 查看结构、类和表达式331

12.5.1.2 使用Watch窗口修改数值332

12.5.2 Local窗口332

12.5.3 Registers窗口333

12.5.4 输出窗口333

12.6 本章小结333

12.7 复习题333

第13章 用QuickWin实现图形程序设计335

13.1 使用Visual C++图形335

13.2 使用QuickWin图形库338

13.2.3.1 File菜单339

13.2.3 QuickWin用户界面339

13.2.2 QuickWin的视频硬件配置339

13.2.1 QuickWin库的窗口339

13.2.3.2 Edit菜单340

13.2.3.3 View菜单340

13.2.3.4 State菜单340

13.2.3.5 Windows菜单340

13.2.3.6 Help菜单340

13.3 理解图形坐标系统340

13.4 画圆341

13.5 显示文本342

13.6 选择字体和字符大小342

13.7 发现图形错误343

13.7.1 _grstatus()错误报告函数343

13.8 使用视口344

13.7.2 QuickWin错误报告344

13.9 使用当前指示器(Current Pointer)345

13.10 选择颜色346

13.10.1 从调色板上选择颜色347

13.10.1.1 _remappalette()函数347

13.10.2 为对象选择填充颜色和填充图案347

13.10.3 使用和填充多边形352

13.11 用QuickWin应用程序画图表353

13.12 本章小结362

13.13 复习题362

13.14 练习题363

第14章 MFC通用类与集合类364

14.1 MFC简介364

14.2 使用MFC类库之前对QuickWin应用程序的准备364

14.2.1 在QuickWin应用程序中包含头文件AFX.H364

14.2.2 使用MFC库的QuickWin应用程序的项目选项365

14.3 类CString366

14.4 类CTime367

14.5 类CFile369

14.5.1 文本文件与二进制文件370

14.5.2 使用类CStdioFile371

14.6 集合类372

14.6.1 理解集合类372

14.6.2 了解有关集合类的知识373

14.7 集合类的使用374

14.8 数组集合类374

14.8.1 把一个数据项插入数组集合375

14.8.2 数组循环375

14.9 链表集合类375

14.9.1 向链表集合插入条目375

14.9.4 查询链表378

14.9.2 链表循环378

14.9.3 删除链表378

14.10 映射集合类379

14.10.1 将关键字与映射集合中的值联系起来380

14.10.2 查找映射的定义380

14.11 本章小结380

14.12 复习题381

14.13 练习题381

第15章 用Visual C++进行Windows程序设计…………………………………(382).382

15.1 用AppWizard编写自己的第一个Windows程序382

15.1.1 使用AppWizard382

15.1.1.1 多文档界面383

15.1.1.7 外部makefile384

15.1.1.6 内存模式384

15.1.1.5 上下文关联帮助384

15.1.1.4 定制的VBX控制384

15.1.1.2 初始化工具栏384

15.1.1.3 打印及打印预审384

15.1.1.8 产生源注释385

15.1.1.9 OLE和ODBC385

15.1.2 AppWizard定义的类385

15.2 生成应用程序386

15.3 运行应用程序386

15.4 一个通用的MFC应用程序386

15.4.1 WinMain()函数387

15.4.2 应用程序窗口387

15.5 FIRSTWIN——第一个应用程序388

15.7 MFC文档/视图结构391

15.7.1 建立主框架窗口391

15.6 初始化步骤391

15.7.2 显示主框架窗口392

15.8 信息循环392

15.9 处理命令信息393

15.10 使用ClassWizard394

15.10.1 用ClassWizard工具增加一个消息映射条目395

15.10.2 用ClassWizard编辑消息映射函数395

15.11 资源395

15.12 MFC类层次400

15.13 FIRSTWIN应用程序——第二部分400

15.13.1 重温文档400

15.13.2 重温MFC视图403

15.14 本章小结405

15.15 复习题405

15.16 练习题406

1994《VisualC++面向对象程序设计》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)J.Tackett Jr.,(美)Ed Mitchel 1994 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Visual Basic 6 面向对象程序设计(1999 PDF版)
Visual Basic 6 面向对象程序设计
1999 北京:人民邮电出版社
java面向对象程序设计教程( PDF版)
java面向对象程序设计教程
C++语言和面向对象程序设计( PDF版)
C++语言和面向对象程序设计
Turbo C++-面向对象的程序设计( PDF版)
Turbo C++-面向对象的程序设计
云南省计算技术研究所;中国科学院希望高级电脑技术公司
面向对象的程序设计( PDF版)
面向对象的程序设计
面向对象的程序设计与 C++ 教程( PDF版)
面向对象的程序设计与 C++ 教程
C++面向对象程序设计实用教程(1999 PDF版)
C++面向对象程序设计实用教程
1999 北京:北京航空航天大学出版社
面向对象的程序设计Turbo C++程序设计方法(1991 PDF版)
面向对象的程序设计Turbo C++程序设计方法
1991 北京:海洋出版社
Turbo C++程序设计方法 面向对象的程序设计(1991 PDF版)
Turbo C++程序设计方法 面向对象的程序设计
1991 北京:海洋出版社
面向对象的程序设计和 C++教程(1991 PDF版)
面向对象的程序设计和 C++教程
1991 科海培训中心
Delphi与面向对象程序设计(1997 PDF版)
Delphi与面向对象程序设计
1997 大连:大连理工大学出版社
面向对象程序设计语言(1993 PDF版)
面向对象程序设计语言
1993 北京:石油工业出版社
面向对象语言Smalltalk与程序设计(1990 PDF版)
面向对象语言Smalltalk与程序设计
1990 长沙:中南工业大学出版社
面向对象程序设计(1994 PDF版)
面向对象程序设计
1994 北京:电子工业出版社
Java教程 Internet面向对象程序设计(1997 PDF版)
Java教程 Internet面向对象程序设计
1997 北京:北京大学出版社