前言 1
本书是关于C+ +的,还是关于Visual C+ +的呢 1
本书特点 2
本书的读者范围 2
本书的编排 2
关于附带的磁盘 2
本书中的图标 3
C+ +因何得名 3
第一部分 使用Visual C+ + 5
第一章Visual C+ +软件包中有什么 7
有时候,小包装里也有好东西 7
启动一个上千行程序的编译器 8
调试器 8
集成 9
对话、菜单和位图 9
建立在一个强大的应用框架基础上 10
对于这些库你永远不必付过期罚款 10
Maxwell Smart实用工具 11
在环境中获得信息的正确方式 11
帮你起步的范例程序 12
第二章 安装Visual C+ + 13
你有足够的剩余空间吗 13
启动安装程序 14
注册 15
典型安装(或者是怎样立刻把磁盘装满) 16
最小安装 16
骨架安装(需要CD) 16
个人化的自定义安装 17
关于我不需要Books Online” 的安装 18
关于“我不需要Maxwell Smart实用工具”的安装 18
关于“我将不会常用MFC或者根本不用”的安装 18
但我不需要任何MFC 18
关于“我将不会进行任何数据库编程”的安装 18
关于我不需要ActiveX控件”的安装 19
预备,各就各位,开始 19
等一等!我改主意了 19
如何它不安装该怎么办 19
第三章 生成Windows程序 21
到了启动Visual C+ +的时候了 21
你要问问自己,我怎样才能到这儿 21
偷偷摸摸的预演 22
我们动身去看看向导 23
使用AppWizard的前4步 24
Step1:应用的类型 24
Step3:ActiveX支持 25
Step2:数据库支持 25
Step4:丰富的修饰内容 26
AppWizord还能做什么 27
我想要一个迷人的标题 29
我想让它干点什么 29
开始写代码 30
该运行了 32
发生了什么,什么用了这么长时间 32
如何出了错该怎么办 34
如何它总是在编译该怎么办 34
第四章 被ClassWizard所陶醉 35
准备好一个Wizard 35
改变About框 36
Wizards始终在类的顶层 36
在对话框中增加新内容 38
一个新的对话框 39
给对话框指定一个类 40
增加新的菜单项目 42
最后会晤:挂接新对话框 43
再运行一次 45
自定义程序 46
第五章 项目 47
为什么感到麻烦 47
项目文件 48
工作区和项目 48
生成一个新的项目 48
指定有关键项目的细节 49
给项目加入文件 50
在Workspace窗口可做的普通工作 51
找出谁在依靠你 51
这样设计看上去不错 52
第六章 编辑器 53
适合编辑的所有代码 53
编辑过程的主角 55
充满活力的色彩显示 56
再单击一次鼠标 57
查找代码块 58
不要小看规则表达式匹配 60
第七章 编译 61
只编译一次就通过是比较难的 61
语法错误 62
警告 63
如果编译器知道有错误,为什么不能自己改正它 64
如果一开始没有成功,就再编译、建立、重建 64
第八章 调试器 65
语法错误与逻辑错误的区别是什么 65
调试过程的概略介绍 66
你叫什么名字?你的调试器是什么?它长得象我吗 67
以逻辑错误的名义停下来 67
单步运行 68
当心出错 69
可以改变错误的变量值 70
快速查看 70
如何需要更快呢 71
纠正逻辑错误 71
开始调试 72
一大堆逻辑错误 73
程序员、停下来,每个人都看到这里有很多错误 73
我们还在那儿吗 76
还是有错误 76
再来一次 77
可以运行了 77
清除一个断点和一个观察窗口 77
来一曲调试蓝调音乐 78
调试器的续篇 79
第九章 购买?还是浏览 81
浏览一个项目 81
定义和引用:不需字典 83
这些秘密文字是什么 84
将浏览器放在可以得到的地方 85
浏览器种类 85
使用源代码 86
浏览家族树 86
缩小查找范围 87
别疯狂地走开——离开就行了 88
有时会不运行了 88
第十章 考虑所有的选项 89
选项 89
一次改变一个文件 91
改变一两个选项 92
友好地对待环境 93
目录 93
格式 93
自定义工具条 94
第二部分 关于C+ +的使用 97
第十一章 了解程序 99
程序的开始 100
利用库文件 101
如何利用程序解决问题 101
阅读自动电唱机程序 102
第十二章 面向对象编程介绍 105
面向对象编程是如何进行的 105
这就是全部优点吗 106
封装 108
继承 108
多态性 108
第十三章 编程基本知识 111
从最基本的程序入手 112
在源文件中放入什么 112
如何用C+ +实现显示输出 114
换行表示法 115
关于cin 115
彩色注释 116
从库里借一个函数 116
Hello World程序 117
用Visual C+ +设计程序 118
第十四章 数据类型 121
声明变量类型 121
基本数据类型 122
其他数据类型 123
类型安全性 123
音乐实例 125
常量 125
第十五章 变量 127
命名变量 127
定义变量 129
变量初始化 130
第十六章 结构 131
声明结构 131
结构成员的使用 133
结构嵌套 134
结构在程序中的应用 135
结构是不是很酷 136
第十七章 表达式 137
运算符 138
高级运算符 138
〉〉运算符 139
+ +运算符 139
〈〈运算符 140
布尔表达式 140
赋值 141
复杂表达式 142
运算符的独立性 143
位 144
if条件语句 146
运算符的运算次序 146
运算符实例 147
第十八章 C+ +的流程 149
if、for和while三大关键词 150
if语句 150
for语句 153
while关键字 154
求数的阶乘 155
其他流程控制关键词 156
switch、case和break关键词 156
do关键词 157
goto关键词 158
第十九章 更加完善的自动电唱机应用 159
基本原理 159
自动电唱机程序清单 161
第二十章 函数 163
开放式语句 163
函数的定义和调用 164
形参 165
函数返回值 166
Factorial程序 168
阅读含有函数的程序 170
变量和名称作用域 170
内联扩展 170
信息的存储 170
在RMA中存储信息 170
在CPU寄存器中存储信息 170
在指令高速缓存器中存储信息 171
信息存储方式与函数调用的关系 171
内联扩展 171
递归函数 172
省略号在函数中的使用 174
缺省初始值 174
第二十一章 指针 175
指针的含义 176
指针的用途 177
值和地址 177
未命名的内存 177
使用指针的具体例子 178
C+ +中如何使用指针 180
程序的地址簿 180
复引用指针 181
复引用指针实例 181
程序清单 181
改变指针所指的值 182
改变结构中的值 182
指针的简明表示法 183
new的用法 183
链表实例 184
不要丢失内存中的地址 184
工作原理 185
程序清单 186
释放内存 188
删除后的指针 188
GP错误 188
字符串与指针 189
避免使用void* 191
关于指针的提示 192
指针小结 192
第二十二章 用指针编写自动电唱机应用 193
如何加入指针 193
改进后的新代码 195
如何使用枚举 197
第二十三章 数组 197
使用枚举时的安全性 198
ein与枚举 198
数组 199
数组元素 200
数组初始化 200
字符串数组 201
多维数组 202
声明多维数组 202
关于多维数组的使用方法 203
第二十四章 用数组编写自动电唱机应用 205
使用数组后的变化 205
程序中的其他变化 206
代码 207
第二十五章 作用域和变量 209
作用域的安全性 210
作用域规则 211
作用域的使用 212
堆栈 213
第三部分 完全地面向对象 215
第二十六章 类的剖析 217
欢迎来到101类空间 218
数据成员 218
成员函数 218
类的声明 219
访问限制 219
如何生成只读变量 220
成员函数的定义 220
受保护的访问 220
类的使用 221
类成员的访问 221
从成员函数访问成员 222
类的头部 222
以面向对象方式思考Music 223
类的总结 224
第二十七章 构造函数与析构函数 227
构造函数 227
多构造函数 228
将构造函数置于此处 230
构造函数的公共性与私有性 230
析构函数 230
清理自己的垃圾 231
还要记得清理动态垃圾 231
如果类中有类会怎样呢 232
如何阅读面向对象程序 233
第二十八章 Jukebox++ 235
Jukebox中的类 235
其余部分进展如何呢 238
链表是如何工作的 239
总体流程 240
这就是Jukebox!这就是面向对象!这就是Jukebox++代码 241
第二十九章 继承 243
类的重用是最经济的 244
继承的方法 244
Pubic、Private和Protected的影响机制 245
重载 245
从父代最大限度地获取 245
没有人会怀疑继承的作用 246
这一点很重要:如何调用基类中的专用构造函数 248
调用构造函数与析构函数的次序 248
这一点也很重要:指针与派生类 249
访问权的继承 249
第三十章 虚函数与多态性 251
如何决定是否需要使用虚函数 252
虚函数的声明 253
在C++中虚函数的使用是必要的 254
继承的确认 257
第三十一章 模板 259
加入整洁的模板俱乐部 259
模板方面的工作还有许多 261
为模板定义成员函数 261
模板化类的指针的使用规则 262
使用模板化的类 262
清除某些混乱 263
放入头文件 263
模板化的链表程序 264
代码 266
第三十二章 音乐声音 269
如何阅读多文件程序 269
该程序到底在做什么 270
FancyJokebox类 270
PrcvicwSongList类 272
链表中对象的混合 273
存储头文件中的类声明 275
范例程序 275
瞬时文件访问 277
第三十三章 I/O流 277
还需要了解的内容 278
有关文件的五点说明 278
读取数字与单词的快速实例 279
代码 280
闯入流中的特殊部分 282
为整形设置填充和宽度 282
让你的小舟随着I/O流慢慢行走 283
第三十四章 异常处理 285
旧式的错误处理 285
新的、改进的错误处理 286
异常处理的“深加工” 287
示例 287
灵活性:异常处理的中间名 289
异常的抛出是必要的 290
只不过是语法 291
易引起混乱的部分 293
示例 295
错误处理类的继承 296
异常处理成功的五条规则 296
第三十五章 从磁盘读文件的Jukebox程序 297
输入文件 297
JAZZ、TXT 297
ROCK、TXT 298
动作机制 298
利用流从磁盘上读取选择 298
异常处理 299
代码 300
成员函数的重载 301
第三十六章 重载与友元 301
预定义函数的重载 303
运算符的重载 303
警告:这一部分的确很复杂 303
在类的内部或外部重载 305
重载的置入与置出 305
你不能做什么 307
友元 307
友元的作用 308
如何制成友元并对程序产生影响 308
第三十七章 Pandora之Jukebox的重载 311
工作机制 311
代码 313
第四部分 十准则集粹 315
没有足够的磁盘空间 317
第三十八章 安装问题和解决方案 317
安装到了错误的驱动器上 318
不能访问CD盘 318
安装程序出现奇怪的行为或不能运行 318
Visual C++的旧版本在代替新版本运行 319
没有任何Visual C++的图标 319
我的项目失控了 319
你会得到消息,没有足够的资源了 320
它就是不能用 320
通常可以用,但是偶尔会有GP故障 320
包含路径错 321
遗漏分号 321
第三十九章 十种语法错误 321
忘记包含头文件 322
忘记更新类声明 322
用类名代替变量名 323
类声明后面忘记写(;) 323
在类定义中忘记写Public: 323
使用错误的变量名 324
错把.用成-〉,反之亦然 324
遗漏了一个1 325
第四十章 另外十种语法错误 327
忘记结束注解 327
使用错误的变量类型 327
作为C语言程序完全可以运行,但现在却不能编译 328
没有写void 328
在该用的地方没有用公用构造函数 329
在头文件中忘记定义模板成员函数 329
在#define后写上了分号(;) 330
忘记建立项目文件 330
磁盘空间不足 330
真的是乱套了 331
第四十一章 五种撤消方法 333
在编辑器中输入或删除了一些内容,但并不真想这么做 333
并不真想改变那个选项 333
保存错了文件 333
超出屏幕 334
第四十二章 程序错误的十种修改方法 335
忘记初始化变量 335
用=代替了= = 336
使用了空指针 336
忘记复引用指针 337
坏指针 337
忘记分配内存空间 338
超出分配的内存空间 338
不要忽略错误警告 339
在switch中缺少break语句 339
被0除 340
第四十三章 程序错误的另外十种修改方法 341
在循环体中忘记给计数器增值 341
在循环体中改变了增值的变量 342
循环中的错误边界 343
用错了变量 343
数组的边界错误 344
[x,y]不是[x] [y] 345
在CWnd构造函数中改变窗口状态 346
改变了函数范围之外的变量或改变了全局变量 346
向窗口传递了错误的参数 347
文件中的错误日期或时间 348
第四十四章 十大MFC类 349
CWinApp 349
CWnd 350
CDialog 350
CMDIFrarneWnd 350
CTooIBar 350
CDialogBar 350
CStatusBar 351
CDC 351
CPen 351
CBitmap 351
Create 353
第四十五章 十大MFC成员函数 353
InitInstance 353
DoModal 354
MoveWindow 354
OnCreate 354
EnableDocking 354
OnPaint 354
MoveTo 354
LineTo 355
TextOut 355
第四十六章 十个Visual C+ +范例程序 357
词汇表 359
磁盘安装说明 369