作者简介
明日科技是一家管理规范、研发能力强的互联网公司,同时从事图书开发。人员规模50人明日的优势:明日科技很注重员工经验交流和开发经验整理、共享,内部积累文档已经整理得非常完善,代码讲解非常细致,目前已经出版图书300多个品种,占据主流语言图书销售排行的前列。案例完全来自本企业的项目,紧跟时代脚步,内容质量上无可挑剔。明日科技配套资源丰富,提供从视频讲解到快学快用的整体配套资源,同时技术服务做的也比较完善。
目录
目录
第1章初识C++ 1
1.1 C++概述 1
1.2 C++代码结构 2
1.2.1 C++工程项目文件 2
1.2.2 认识C++代码结构 2
第2章C++语言基础 4
2.1 第一个C++程序 4
2.1.1 #include指令 5
2.1.2 iostream标准库 5
2.1.3 命名空间 6
2.1.4 std::介绍 7
2.1.5 main函数 7
2.1.6 函数体 7
2.1.7 函数返回值 7
2.1.8 注释 7
2.2 常量及符号 8
2.2.1 整型常量 8
2.2.2 浮点型常量 11
2.2.3 字符常量 11
2.2.4 字符串常量 13
2.2.5 其他常量 15
2.3 变量 15
2.3.1 标识符 16
2.3.2 变量的声明及赋值 16
2.3.3 整型变量 17
2.3.4 实型变量 18
2.3.5 字符型变量 19
2.4 数据类型 21
2.4.1 定义数据类型 22
2.4.2 字符类型 23
2.4.3 布尔类型 24
2.5 数据输入与输出 24
2.5.1 控制台屏幕 24
2.5.2 C++语言中的流 24
2.5.3 流输出格式的控制 27
第3章 运算符与表达式 34
3.1 运算符 34
3.1.1 算术运算符 34
3.1.2 关系运算符 36
3.1.3 逻辑运算符 36
3.1.4 赋值运算符 38
3.1.5 位运算符 39
3.1.6 移位运算符 41
3.1.7 sizeof运算符 42
3.1.8 条件运算符 43
3.1.9 逗号运算符 43
3.2 结合性和优先级 44
3.3 表达式 46
3.3.1 表达式概述 46
3.3.2 表达式中的类型转换 46
3.4 判断左值与右值 49
第4章 条件判断语句 50
4.1 决策分支 50
4.2 判断语句 51
4.2.1 第一种形式的判断语句―― if语句 51
4.2.2 第二种形式的判断语句―― if …else语句 53
4.2.3 第三种形式的判断语句―― if …else if 语句 55
4.3 使用条件运算符进行判断 57
4.4 switch语句 58
4.5 判断语句的嵌套 63
第5章 循环语句 65
5.1 while循环和do…while循环 65
5.1.1 while循环 65
5.1.2 do...while循环 67
5.2 for循环 69
5.2.1 for循环的一般形式 69
5.2.2 for循环的变体 71
5.3 循环控制 73
5.3.1 控制循环的变量 73
5.3.2 break语句 74
5.3.3 continue语句 75
5.3.4 goto语句 76
5.4 循环的嵌套 77
第6章 函数 80
6.1 函数概述 80
6.1.1 函数的定义 80
6.1.2 函数的声明 81
6.2 函数参数及返回值 82
6.2.1 空函数 82
6.2.2 形参与实参 82
6.2.3 默认参数 83
6.2.4 可变参数 85
6.2.5 返回值 86
6.3 函数调用 87
6.3.1 传值调用 87
6.3.2 嵌套调用 89
6.3.3 递归调用 90
6.4 变量作用域 93
6.5 重载函数 94
6.6 内联函数 95
6.7 变量的存储类别 96
6.7.1 auto变量 97
6.7.2 static变量 98
6.7.3 register变量 100
6.7.4 extern变量 100
第7章 数组、指针和引用 101
7.1 一维数组 101
7.1.1 一维数组的声明 101
7.1.2 一维数组的引用 101
7.1.3 一维数组的初始化 102
7.2 二维数组 103
7.2.1 二维数组的声明 103
7.2.2 二维数组元素的引用 104
7.2.3 二维数组的初始化 104
7.3 字符数组 106
7.4 指针 112
7.4.1 变量与指针 112
7.4.2 指针运算符和取地址运算符 115
7.4.3 指针运算 116
7.4.4 指向空的指针与空类型指针 117
7.4.5 指向常量的指针与指针常量 118
7.5 指针与数组 119
7.5.1 指针与一维数组 119
7.5.2 指针与二维数组 121
7.5.3 指针与字符数组 125
7.6 指针在函数中的应用 126
7.6.1 传递地址 126
7.6.2 指向函数的指针 128
7.6.3 从函数中返回指针 129
7.7 指针数组 130
7.8 引用 132
7.8.1 引用概述 132
7.8.2 使用引用传递参数 133
7.8.3 数组作为函数参数 134
第8章 结构体与共用体 136
8.1 结构体 136
8.1.1 结构体定义 136
8.1.2 结构体变量 137
8.1.3 结构体成员及初始化 137
8.1.4 结构体的嵌套 140
8.1.5 结构体大小 142
8.2 重命名数据类型 143
8.3 结构体与函数 145
8.3.1 结构体变量做函数的参数 146
8.3.2 结构体指针变量做函数的参数 147
8.4 结构体数组 148
8.4.1 结构体数组声明与引用 148
8.4.2 指针变量访问结构体数组 149
8.5 共用体 150
8.5.1 共用体类型的定义与声明 150
8.5.2 共用体的大小 151
8.5.3 共用体数据类型的特点 152
8.6 枚举类型 153
8.6.1 枚举类型的声明 153
8.6.2 枚举类型变量 154
8.6.3 枚举类型的运算 155
第9章 面向对象编程基础 157
9.1 面向对象概述 157
9.2 面向对象与面向过程编程 158
9.2.1 面向过程编程 158
9.2.2 面向对象编程 159
9.2.3 面向对象的特点 159
9.3 统一建模语言 160
9.3.1 统一建模语言概述 160
9.3.2 统一建模语言的结构 160
9.3.3 面向对象的建模 162
第10章 类和对象 163
10.1 C++类 163
10.1.1 类概述 163
10.1.2 类的声明与定义 164
10.1.3 类的实现 165
10.1.4 对象的声明 170
10.2 构造函数 172
10.2.1 构造函数概述 172
10.2.2 复制构造函数 174
10.3 析构函数 176
10.4 类成员 178
10.4.1 访问类成员 178
10.4.2 内联成员函数 180
10.4.3 静态类成员 180
10.4.4 隐藏的this指针 183
10.4.5 嵌套类 184
10.4.6 局部类 185
10.5 友元 186
10.5.1 友元概述 186
10.5.2 友元类 189
10.5.3 友元方法 190
10.6 命名空间 192
10.6.1 使用命名空间 192
10.6.2 定义命名空间 193
10.6.3 在多个文件中定义命名空间 195
10.6.4 定义嵌套的命名空间 197
10.6.5 定义未命名的命名空间 199
第11章 继承与派生 200
11.1 继承 200
11.1.1 类的继承 200
11.1.2 继承的可访问性 202
11.1.3 构造函数访问顺序 204
11.1.4 子类显示调用父类构造函数 206
11.1.5 子类隐藏父类的成员函数 208
11.2 重载运算符 211
11.2.1 重载运算符的必要性 211
11.2.2 重载运算符的形式与规则 213
11.2.3 重载运算符的运算 214
11.2.4 转换运算符 217
11.3 多重继承 218
11.3.1 多重继承定义 218
11.3.2 二义性 220
11.3.3 多重继承的构造顺序 221
11.4 多态 222
11.4.1 虚函数概述 223
11.4.2 利用虚函数实现动态绑定 223
11.4.3 虚继承 225
11.5 抽象类 227
第12章 模板 229
12.1 函数模板 229
12.1.1 函数模板的定义 229
12.1.2 函数模板的作用 230
12.1.3 重载函数模板 232
12.2 类模板 233
12.2.1 类模板的定义与声明 234
12.2.2 简单类模板 236
12.2.3 设置默认模板参数 237
12.2.4 为具体类型的参数提供默认值 237
12.2.5 有界数组模板 238
12.3 模板的使用 241
12.3.1 定制类模板 241
12.3.2 定制类模板成员函数 243
12.4 链表类模板 244
12.4.1 链表 244
12.4.2 链表类模板 247
12.4.3 类模板的静态数据成员 250
第13章 STL标准模板库 252
13.1 序列容器 252
13.1.1 向量类模板 252
13.1.2 双端队列类模板 256
13.1.3 链表类模板 258
13.2 关联式容器 261
13.2.1 set类模板 261
13.2.2 multiset类模板 264
13.2.3 map类模板 266
13.2.4 multimap类模板 268
13.3 算法 269
13.3.1 非修正序列算法 269
13.3.2 修正序列算法 272
13.3.3 排序算法 274
13.3.4 数值算法 276
13.4 迭代器 277
13.4.1 输出迭代器 277
13.4.2 输入迭代器 278
13.4.3 前向迭代器 279
13.4.4 双向迭代器 279
13.4.5 随机访问迭代器 280
第14章 RTTI与异常处理 282
14.1 RTTI 282
14.1.1 什么是RTTI 282
14.1.2 RTTI与引用 283
14.1.3 RTTI与多重继承 284
14.1.4 RTTI映射语法 285
14.2 异常处理 288
14.2.1 抛出异常 288
14.2.2 异常捕获 290
14.2.3 异常匹配 293
14.2.4 标准异常 295
第15章 程序调试 296
15.1 选择正确的调试方法 296
15.2 四种常见的程序错误类型 296
15.2.1 语法错误 296
15.2.2 连接错误 297
15.2.3 运行时错误 298
15.2.4 逻辑错误 298
15.3 调试工具的使用 299
15.3.1 创建调试程序 299
15.3.2 进入调试状态 300
15.3.3 Watch窗口 301
15.3.4 Call Stack窗口 301
15.3.5 Memory窗口 302
15.3.6 Variables窗口 302
15.3.7 Registers窗口 303
15.3.8 Disassembly窗口 303
15.4 调试的基本应用 304
15.4.1 变量的跟踪与查看 304
15.4.2 位置断点的使用 305
15.5 调试的高级应用 308
15.5.1 在调试时修改变量的值 308
15.5.2 在循环语句中调试 309
第16章 文件操作 311
16.1 流简介 311
16.1.1 C++中的流类库 311
16.1.2 类库的使用 312
16.1.3 ios类中的枚举常量 312
16.1.4 流的输入/输出 313
16.2 文件打开 313
16.2.1 打开方式 313
16.2.2 默认打开模式 314
16.2.3 打开文件的同时创建文件 315
16.3 文件的读写 316
16.3.1 文件流 316
16.3.2 写文本文件 318
16.3.3 读取文本文件 319
16.3.4 二进制文件的读写 320
16.3.5 实现文件复制 321
16.4 文件指针移动操作 322
16.4.1 文件错误与状态 322
16.4.2 文件的追加 323
16.4.3 文件结尾的判断 324
16.4.4 在指定位置读写文件 325
16.5 文件和流的关联和分离 327
16.6 删除文件 328
第17章 网络通信 330
17.1 TCP/IP 330
17.1.1 OSI参考模型 330
17.1.2 TCP/IP参考模型 331
17.1.3 IP地址 331
17.1.4 数据包格式 332
17.2 套接字 334
17.2.1 WinSocket套接字 335
17.2.2 WinSocket的使用 335
17.2.3 套接字阻塞模式 340
17.2.4 字节顺序 341
17.2.5 面向连接流 341
17.2.6 面向无连接流 342
17.3 简单协议通信 342
17.3.1 服务端 342
17.3.2 客户端 345
17.3.3 实例的运行 346
第18章 餐饮管理系统 347
18.1 开发背景 347
18.2 需求分析 347
18.3 系统设计 348
18.3.1 系统目标 348
18.3.2 系统功能结构 348
18.3.3 系统预览 348
18.3.4 业务流程图 349
18.3.5 数据库设计 350
18.4 公共类设计 353
18.5 主窗体设计 354
18.6 注册模块设计 358
18.6.1 注册模块概述 358
18.6.2 注册模块技术分析 358
18.6.3 注册模块实现过程 359
18.7 登录模块设计 360
18.7.1 登录模块概述 360
18.7.2 登录模块技术分析 361
18.7.3 登录模块实现过程 361
18.8 开台模块设计 362
18.8.1 开台模块概述 362
18.8.2 开台模块技术分析 363
18.8.3 开台模块实现过程 363
18.9 点菜模块设计 366
18.9.1 点菜模块概述 366
18.9.2 点菜模块技术分析 366
18.9.3 点菜模块实现过程 367
18.10 结账模块设计 374
18.10.1 结账模块概述 374
18.10.2 结账模块技术分析 374
18.10.3 结账模块实现过程 375
主编推荐
26小时视频同步课程,手把手教你学编程 80个学习二维码,手机、PC同步学习 53个学习笔记,轻松化解学习障碍
精彩内容
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习C++编程知识,并提升自己的实际开发能力。全书共18章,包括初识C++,C++语言基础,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,结构体与共用体,面向对象编程基础,类和对象,继承与派生,模板,STL标准模板库,RTTI与异常处理,程序调试,文件操作,网络通信,餐饮管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会C++程序开发的精髓,快速提高开发技能。
媒体评论
26小时视频同步课程,手把手教你学编程
80个学习二维码,手机、PC同步学习
53个学习笔记,轻松化解学习障碍
以下为对购买帮助不大的评价