第1章C++快速入门 1
第2章 整型、字符型和浮点型专题 6
2.1基础 6
2.2整型和sizeof操作符 8
2.3 char(字符型) 11
2.4 bool(布尔型) 16
2.5浮点型 17
2.6符号常量和#define预处理指令简介 22
第3章 声明、定义、复杂声明和typedef专题 23
3.1声明与定义 23
3.2复杂声明和typedef的使用 31
3.2.1复杂声明 31
3.2.2 typedef 34
第4章 运算符、表达式和左值专题 40
4.1赋值、左值和右值 41
4.2表达式和运算符 42
4.2.1基础 42
4.2.2表达式的副作用和顺序点 44
4.2.3运算符的优先级、结合性和操作数的求值顺序 45
4.2.4运算符性质总结 46
4.3运算符 47
4.3.1二元算术运算符 47
4.3.2关系运算符 49
4.3.3逻辑运算符 50
4.3.4赋值运算符 51
4.3.5复合赋值运算符 52
4.3.6递增和递减运算符 54
4.3.7位运算符 56
4.3.8条件运算符 58
4.3.9逗号运算符 60
4.3.10 sizeof运算符 61
4.4类型转换 61
4.4.1基础 61
4.4.2各种类型转换 61
4.4.3转换溢出处理 64
4.4.4强制类型转换运算符 65
第5章 选择语句和循环语句专题 68
5.1语句概念 68
5.2 if语句 69
5.3 switch语句 72
5.4 while和do-while语句 77
5.5 for语句 79
5.6 continue和break语句 81
5.7循环语句头定义的变量的作用域 82
5.8 goto跳转语句简介 83
第6章 指针和数组专题 84
6.1指针 84
6.1.1指针的概念 87
6.1.2&与*运算符 88
6.1.3指针(变量)的声明、初始化 92
6.1.4各种指针 93
6.1.5指针的简单运算 98
6.2数组 100
6.2.1一维数组 100
6.2.2多维数组 104
6.3指针与数组 106
6.3.1理解数组名 106
6.3.2指针与数组的混合运算 109
6.3.3数组指针(*p)[]和指针数组*p[] 112
6.4动态分配内存new关键字 115
6.4.1内存管理基础 115
6.4.2使用new动态分配单个对象 116
6.4.3使用new动态创建数组 118
6.4.4使用new动态分配内存的类型分析 121
6.4.5使用多级指针动态创建多维数组 122
6.4.6 delete常见错误及内存错误 125
6.4.7使用malloc/free动态创建和释放内存简介 127
6.5 C风格字符串 128
6.5.1 C风格字符串 128
6.5.2 C风格字符串的标准库函数 131
6.5.3 C风格字符串的输入/输出 132
第7章 函数和标识符的作用域专题 133
7.1函数基本语法规则 133
7.1.1函数声明、定义及形参的语法规则 133
7.1.2函数调用、实参、返回值、return语句语法规则 137
7.2函数参数传递 141
7.2.1指针形参和引用形参 141
7.2.2数组形参 144
7.2.3函数指针 148
7.2.4默认参数与可变形参 150
7.2.5内联函数、main函数、extern“C”链接指示符 151
7.3函数重载 154
7.4函数匹配(或函数重载解析) 155
7.4.1函数匹配的过程 155
7.4.2候选函数的确定方法 156
7.4.3确定最佳匹配函数的方法 156
7.4.4完全匹配详解 159
7.5作用域、存储持续期、链接性和存储类区分符 164
7.5.1作用域 164
7.5.2存储持续期、链接性与作用域 167
7.5.3将程序写在多个文件中 175
第8章 类基础、类作用域及相关运算符专题 177
8.1面向对象程序设计基本概念 177
8.2类的声明/定义、类成员简介及相关运算符 181
8.2.1类和对象的声明、定义 181
8.2.2类成员简介、成员运算符、作用域解析运算符、访问控制符 182
8.3类作用域 187
8.3.1类作用域中的名称 187
8.3.2类作用域中的名称解析 189
第9章 构造函数、复制构造函数和析构函数专题 192
9.1构造函数与析构函数简介 192
9.1.1构造函数、默认构造函数、单形参构造函数、explicit关键字 192
9.1.2析构函数 195
9.2对象初始化 198
9.2.1使用构造函数、默认构造函数初始化对象 198
9.2.2使用成员初始化表初始化数据成员 200
9.2.3使用复制构造函数初始化对象及临时对象 202
第10章 名称空间专题 207
10.1名称空间基础 207
10.2名称空间的分类 209
10.3访问名称空间中的名称 211
10.4名称空间中的名称解析 214
第11章 类中的成员专题 217
11.1静态成员 217
11.1.1静态数据成员 217
11.1.2静态成员函数 221
11.2 const成员、mutable关键字、this指针 222
11.3对象数组、对象成员、数组成员和对象数组成员 225
11.3.1对象数组 225
11.3.2对象成员、数组成员和对象数组成员 226
11.4嵌套类、局部类、友元 228
11.4.1嵌套类 228
11.4.2局部类 232
11.4.3友元 232
11.5指向类成员的指针 237
11.6枚举、联合(共用体)、位段(域) 240
11.6.1枚举类型 240
11.6.2联合(共用体)类型 244
11.6.3位段(域) 246
第12章 运算符(操作符)重载专题 249
12.1运算符重载基本概念 249
12.2运算符重载示例 252
12.3转换函数和重载解析 260
12.3.1转换函数 260
12.3.2有转换函数时的函数重载解析 263
12.3.3带有类类型实参和在类作用域中调用函数时函数重载解析 266
12.3.4重载运算符函数时的重载解析 268
12.3.5仿函数与重载解析 270
12.4重载new/delete运算符和定位new/delete 271
12.4.1重载new/delete运算符 271
12.4.2定位(布局)new和delete 277
12.4.3 new表达式和new运算符函数总结 282
第13章 继承、虚函数与多态性专题 284
13.1继承 284
13.1.1继承基础及继承后的访问级别 284
13.1.2继承下的构造函数与复制控制 289
13.1.3父类与子类间的转换 291
13.1.4继承下的名称解析、名称隐藏及函数重载解析 294
13.1.5多重继承与虚基类 297
13.2虚函数与多态性 302
13.2.1多态性原理 302
13.2.2虚函数 305
第14章 对象模型与虚函数表专题 314
14.1对象模型与虚函数表基础、内存对齐、函数内部转换 314
14.1.1对象模型简介 314
14.1.2类成员的存储次序与内存对齐 318
14.1.3编译器对函数的内部转换与名称改编 322
14.1.4指向虚成员函数的指针 325
14.1.5对成员函数的各种转换总结 325
14.2各种C++对象模型 326
14.2.1指针与类型的关系 326
14.2.2 VC++ 2010访问虚函数表的三种方法 327
14.2.3单继承下的对象模型 330
14.2.4多重继承下的对象模型与 this指针调整 332
14.2.5虚继承下的对象模型 339
14.3编译器合成的各种构造函数和析构函数 342
14.3.1编译器合成的默认构造函数 342
14.3.2编译器合成的复制构造函数与按成员初始化 346
14.3.3编译器合成的复制赋值操作符函数 349
14.3.4编译器合成的析构函数 349
14.4类对象创建和销毁时编译器实现原理 349
第15章 模板专题 354
15.1模板基础 354
15.2模板形参与模板实参详解 359
15.2.1类型形/实参与非类型形/实参 359
15.2.2默认模板实参 363
15.2.3模板模板形/实参 364
15.3模板实参推演与显式模板实参 365
15.3.1基础 365
15.3.2模板实参推演 368
15.3.3显式模板实参 374
15.4名称的识别与依赖实参的查询 375
15.4.1依赖实参的查询(ADL) 375
15.4.2 typename前缀和template前缀 380
15.5实例化 383
15.5.1实例化基本规则 384
15.5.2实例化的时机和位置点及两段式名称查询 384
15.5.3显式实例化 393
15.6类模板中的成员 396
15.7模板特化 401
15.7.1全局特化与局部特化 401
15.7.2类模板成员的特化及定义 406
15.8有模板时的函数重载解析 410
15.9模板与友元 416
15.9.1基础 416
15.9.2把模板或其实例声明为友元 417
15.10模板与继承 419
第16章I/O专题 421
16.1 I/O流模型及I/O类组织结构 421
16.1.1 I/O流模型 421
16.1.2 I/O类组织结构 422
16.2标准输出流(ostream类) 425
16.2.1使用ostream类的成员函数进行输出 425
16.2.2控制输出时的格式 426
16.3标准输入流(istream类) 432
16.3.1流状态 432
16.3.2使用istream类的成员函数进行输入 434
16.4文件流 438
16.5字符串流 445
16.6 C风格字符串流 447
第17章 异常专题 448
第18章 预处理器、typeid和强制类型转换专题 464
第19章string类专题 472
参考文献 488