目录 1
序 1
前言 1
第1章 C++编程入门 1
1.1 C++简史 1
1.2程序 1
1.3解决问题 2
1.6开发环境 4
1.5准备编程 4
1.4 C++的发展 4
1.7编译原代码 5
1.8使用链接器生成可执行文件 5
1.9开发周期 6
1.10 HELLO.CPP——第一个C++ 6
程序 6
1.11编译错误 7
1.12一个简单程序的组成部分 7
1.13简单看一下cout 8
1.14注释 9
1.15函数 11
1.16总结 14
1.17复习 14
1.18词汇 16
第2章 变量和常数 19
2.1什么是变量? 19
2.2定义变量 19
2.3大小写敏感 20
2.4一次建立多个变量 21
2.5给变量赋值 21
2.6 typedef关键词 22
2.7何时使用short,何时使用long 23
2.8字符 24
2.9常数 26
2.10枚举常数 27
2.11总结 28
2.12复习 29
2.13词汇 30
第3章 表达式和语句 32
3.1语句 32
3.2表达式 33
3.3运算符 34
3.4结合赋值和数学运算 35
3.5增量和减量 35
3.6优先级 37
3.7括号嵌套 37
3.8真假 38
3.9关系运算符 38
3.10 if语句 39
3.11在嵌套if语句中使用括号 45
3.12逻辑运算符 47
3.13关系优先级 47
3.14再论真假 48
3.15条件(三元)运算符 49
3.1 7复习 50
3.16总结 50
3.18词汇 52
第4章 函数 53
4.1什么是函数? 53
4.2声明和定义函数 53
4.3函数的执行 57
4.4局部变量 57
4.5全局变量 58
4.6全局变量——小心 59
4.7再谈局部变量 60
4.8函数语句 61
4.9函数变量 61
4.10参数是局部变量 62
4.11返回值 63
4.12默认参数 65
4.13重载函数 67
4.14专题 70
4.15递归 71
4.17抽象层次 74
4.18划分RAM 74
4.16函数和内存 74
4.19栈和函数 76
4.20总结 76
4.21 复习 77
4.22词汇 79
第5章 类 80
5.1创建新类型 80
5.2类和成员 80
5.4私有和公有 82
5.3访问类成员 82
5.5实现类函数成员 85
5.6构造函数和析构函数 88
5.7 const成员函数 90
5.8接口与实现 91
5.9为什么使用编译器查找错误? 93
5.10类声明和方法定义放在什么地方 93
5.11内联实现 94
5.12以其它类作为成员数据的类 96
5.13结构 99
5.14总结 100
5.15复习 100
5.16词汇 102
第6章 程序流程 104
6.1循环 104
6.2 WHILE循环 105
6.3 WHILE(1)循环 110
6.4 DO…WHILE循环 111
6.5 for循环 112
6.6高级for循环 114
6.7循环总结 118
6.8 switch语句 120
6.9总结 125
6.10复习 125
6.11词汇 127
第7章指针 128
7.1什么是指针? 128
7.3栈和自由存储区 134
7.2为什么要使用指针? 134
7.4丢失或不稳定指针 143
7.5 const指针 145
7.6 const指针和const成员函数 145
7.7 constthis指针 147
7.8总结 147
7.9复习 148
7.10词汇 149
第8章 引用 150
8.2对引用使用地址操作符 151
8.1什么是引用? 151
8.3什么能被引用? 153
8.4空指针和空引用 155
8.5用引用传递函数变量 155
8.6掌握函数头和原型 159
8.7返回多个值 159
8.8用引用返回值 161
8.9用引用传递提高效率 162
8.10何时使用引用,何时使用指针 169
8.11混合使用指针和引用 170
8.12不要返回不在作用域内的对象的引用! 171
8.13返回堆中对象的引用 172
8.14指针,指针,谁拥有指针? 174
8.15总结 174
8.16复习 174
8.17术语 176
第9章 重载 177
9.1重载函数成员 177
9.2使用默认值 179
9.3选择默认值或重载函数 181
9.4默认构造函数 182
9.5重载构造函数 182
9.6初始化对象 184
9.7复制构造函数 184
9.8运算符重载 188
9.9重载运算符函数中的返回类型 191
9.10转换运算符 204
9.11总结 207
9.12复习 207
9.13词汇 209
第10章 数组 210
10.1什么是数组? 210
10.2数组元素 210
10.3数组越界 211
10.4界桩错误 213
10.5初始化数组 214
10.6声明数组 215
10.7对象数组 215
10.8多维数组 216
10.9初始化多维数组 217
10.10有关内存问题的一点说明 218
10.11指针数组 219
10.12在自由存储区声明数组 220
10.13指向数组的指针与指针数组 221
10.14指针和数组名 221
10.15删除自由存储区中的数组 223
10.16 CHAR数组 223
()函数 225
10.17 STRCPY( )和STRNCPY 225
10.18字符串类 226
10.19链表和其它结构 233
10.20数组类 238
10.21总结 239
10.22复习 239
10.23词汇 240
第11章 继承 241
11.1什么是继承? 241
11.2私有与保护 244
11.3构造函数与析构函数 246
11.4 向基类构造函数传递变量 248
11.5重载函数 253
11.6虚函数成员 258
11.7总结 269
11.8复习 269
11.9词汇 270
12.1单继承存在的问题 271
第12章多继承 271
12.2什么是多继承? 275
12.3抽象数据类型 290
12.4总结 303
12.5复习 304
12.6词汇 305
第13章 特殊类和函数 306
13.1静态数据成员 306
13.2静态函数成员 311
13.3函数指针 313
13.4函数成员指针 323
13.5总结 328
13.6复习 328
13.7词汇 329
第14章 高级继承 330
14.1包含 330
14.2替代实现与委托 340
14.3私有继承 350
14.4友元类 354
14.6友元函数和运算符重载 361
14.5友元函数 361
14.7重载插入运算符 367
14.8总结 369
14.9复习 369
14.10词汇 371
第15章 流和文件 372
15.1流综述 372
15.2流和缓冲区 374
15.5用CIN输入 375
15.3标准I/O对象 375
15.4重定向 375
15.6 CIN的其它成员函数 380
15.7用COUT输出 386
15.8相关函数 387
15.9管理器、标志和格式化指令 388
15.10流与PRINTF( )函数 391
15.11文件输入和输出 393
15.12 OFSTREAMM对象 393
15.13二进制文件与文本文件 397
15.14命令行处理 399
15.15总结 402
15.16复习 402
15.17词汇 403
第16章 预处理器 404
16.1预处理器和编译器 404
16.2考查中间格式 404
16.3使用#DEFINE 404
16.4包含与防止包含 406
16.5宏函数 409
16.6 内联函数 412
16.7字符串处理 413
16.8预定义宏 414
16.9 ASSERT( )宏 414
16.10总结 427
16.11 复习 427
16.12词汇 428
17.2仿真警报系统 429
第17章 面向对象的分析与设计 429
17.1开发周期 429
17.3邮政管理员 434
17.4三思而后行 434
17.5分而治之 435
17.6消息格式 435
17.7初始类设计 436
17.8有根层次与无根层次 436
17.9设计界面 437
17.10设计决策 441
17.11使用驱动程序 442
17.12总结 450
17.13复习 450
17.14词汇 451
第18章 模板 452
18.1什么是模板? 452
18.2参数化类型 452
18.3模板定义 452
18.5模板和友元 458
18.4模板函数 458
18.6使用模板项 464
18.7总结 478
18.8复习 479
18.9词汇 480
第19章 例外和错误处理 481
19.1程序错误、逻辑错误和语法错误 481
19.2例外 482
19.3使用TRY块和CATCH块 486
19.4例外中的数据和命名例外对象 492
19.5例外和模板 498
19.6没有错误的例外 502
19.7程序错误和调试 502
19.8总结 503
19.9复习 503
19.10词汇 505
20.1标准库 506
20.2字符串 506
第20章 标准库和位处理 506
20.3时间和日期 511
20.4 STDLIB库 512
20.5位处理 515
20.6风格 520
20.7下一步 523
20.8总结 525
20.9复习 525
附录A 运算符优先级 527
附录B C++关键词 528
附录C二进制和十六进制 529
1引言 529
2其它数制 529
3关于数制 530
3.1二进制 530
3.2为什么使用二进制? 531
3.3位,字节和四位元组 531
3.4什么是K? 531
4二进制数 532
5十六进制 532