注册 登录 进入教材巡展 进入在线书城
#

出版时间:2021-01

出版社:清华大学出版社

获奖信息:江苏省高等学校重点教材  

以下为《C++面向对象程序设计——基于Visual C++ 2017》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302573036
  • 1-1
  • 403412
  • 48246666-1
  • 16开
  • 2021-01
  • 654
  • 432
  • 工学
  • 计算机科学与技术
  • 计算机
  • 本科
作者简介
吴克力,南京理工大学教授,硕士生导师,博士。曾获得江苏省高校“青蓝工程”优秀青年骨干教师培养对象,市“十百千”人才第二层次培养对象,学校“我最喜爱的老师”和第六届校教学标兵等荣誉。主讲了《C++程序设计》、《数据结构》等计算机专业课程,主编本科教材2部,均评为江苏省高等学校重点教材。发表专业学术论文三十余篇,获江苏省教学成果二等奖一项,国防科工委国防科学技术奖二等奖一项,省高校优秀教材奖一项。
查看全部
内容简介
《C++面向对象程序设计:基于Visual C++ 2017》以面向对象技术为核心,重点介绍了新标准C++ 11的语法规则和编程技术。为便于深入理解C++的基本概念与实现技术,书中利用程序调试工具深入浅出地剖析了重要的语法现象和程序运行机理,使初学者能知其然,更知其所以然。书中用两章的篇幅介绍了C++/CLI和WinForm窗体应用程序的设计方法,以便拓展学习者用C++开发应用项目的能力。全书通过丰富的例程、案例和练习培养并锻炼读者的编程能力,使读者能尽快掌握面向对象编程思想和提高编程技能。
《C++面向对象程序设计:基于Visual C++ 2017》既注意对基本概念、基础知识的讲解与剖析,更注重实际编程能力的培养,适合作为普通高等院校应用型本科相关专业的C++程序设计课程的教材,也适合作为编程开发人员的培训或自学用书。
目录
目 录

第1章 绪论 1
1.1 计算机程序设计语言 1
1.1.1 程序设计语言 1
1.1.2 程序设计范型 2
1.1.3 面向对象程序设计 4
1.2 C++程序设计语言概述 5
1.2.1 C++语言发展简史 5
1.2.2 C++语言的特点 6
1.3 Visual C++ 2017编程工具简介 7
1.3.1 C++程序生成过程 7
1.3.2 .NET 框架与
Visual C++ 2017 8
1.3.3 Visual C++ 2017集成开发
环境简介 9
1.3.4 创建控制台应用程序项目 10
1.3.5 创建Windows窗体应用
程序项目 12
1.3.6 调试与跟踪程序 13
1.4 本章小结 14
1.5 习题 15
第2章 数据类型与基本运算 16
2.1 数据类型 16
2.1.1 基本数据类型 17
2.1.2 构造数据类型 19
2.2 变量与常量 20
2.2.1 词法及其规则 20
2.2.2 变量 21
2.2.3 常量 23
2.2.4 auto类型说明符 26
2.2.5 decltype类型指示符 27
2.3 运算与表达式 27
2.3.1 运算类型和表达式 28
2.3.2 算术运算及算术表达式 29
2.3.3 赋值运算及赋值表达式 30
2.3.4 关系运算及关系表达式 32
2.3.5 逻辑运算及逻辑表达式 32
2.3.6 位运算及位表达式 33
2.3.7 其他运算及其表达式 35
2.4 数组 37
2.4.1 一维数组 37
2.4.2 多维数组 39
2.4.3 字符数组 41
2.5 指针与引用 43
2.5.1 指针 43
2.5.2 多级指针 45
2.5.3 指针运算 46
2.5.4 指针与数组 48
2.5.5 引用 51
2.6 枚举 54
2.6.1 无作用域限定枚举 54
2.6.2 强类型枚举 55
2.7 标准库类型string 56
2.8 标准库类型vector 57
2.9 标准库类型map 58
2.10 结构体与联合 59
2.10.1 结构体 60
2.10.2 联合 61
2.11 案例实训 63
2.12 本章小结 64
2.13 习题 65
第3章 基本控制结构与语句 67
3.1 算法与基本控制结构 67
3.1.1 算法与流程图 67
3.1.2 三种基本控制结构 69
3.1.3 语句 69
3.2 选择型结构 70
3.2.1 if…else语句 70
3.2.2 switch语句 72
3.3 循环型结构 74
3.3.1 传统for语句 74
3.3.2 范围for语句 76
3.3.3 while语句 77
3.3.4 do…while语句 79
3.3.5 跳转语句 81
3.4 异常处理 85
3.4.1 throw语句 85
3.4.2 try语句 86
3.5 输入与输出 88
3.5.1 控制台输入输出 88
3.5.2 文件输入输出 89
3.6 案例实训 92
3.7 本章小结 93
3.8 习题 94
第4章 函数 97
4.1 函数定义与调用 97
4.2 函数参数传递 100
4.2.1 按值传递 100
4.2.2 地址传递 101
4.2.3 引用传递 102
4.2.4 const形参 103
4.2.5 数组形参 105
4.3 函数返回类型与函数重载 106
4.3.1 返回类型与return语句 106
4.3.2 尾随返回类型 109
4.3.3 返回数组指针 110
4.3.4 函数重载 111
4.4 内联函数与常量表达式函数 113
4.4.1 inline函数 113
4.4.2 constexpr函数 114
4.5 递归函数 115
4.6 函数指针 118
4.7 Lambda函数 124
4.8 内存模型、作用域和生存期 125
4.8.1 C++程序内存模型 126
4.8.2 全局变量和局部变量 126
4.8.3 作用域和可见性 127
4.8.4 存储类型和生存期 128
4.9 案例实训 130
4.10 本章小结 131
4.11 习题 131
第5章 类与对象 136
5.1 面向对象编程:封装 136
5.2 类与对象 137
5.2.1 类的定义 137
5.2.2 对象的创建 139
5.2.3 this指针与对象 141
5.3 构造函数与析构函数 143
5.3.1 构造函数 143
5.3.2 委托构造函数 146
5.3.3 析构函数 147
5.4 类中成员对象 149
5.4.1 成员对象的构造与析构 149
5.4.2 组合应用示例 152
5.5 类中静态成员 155
5.5.1 静态数据成员 155
5.5.2 静态成员函数 158
5.6 类的友元 160
5.6.1 友元函数 160
5.6.2 友元类 162
5.7 运算符重载函数 164
5.7.1 运算符重载成员函数 165
5.7.2 运算符重载友元函数 168
5.7.3 特殊运算符的重载 171
5.7.4 流插入与提取运算符重载 178
5.8 多文件结构与编译预处理 180
5.8.1 多文件结构 180
5.8.2 编译预处理 181
5.9 案例实训 185
5.10 本章小结 187
5.11 习题 188
第6章 动态内存 192
6.1 动态内存的分配与释放 192
6.1.1 new和delete运算符 192
6.1.2 深复制与浅复制 196
6.2 智能指针 198
6.2.1 unique_ptr 199
6.2.2 shared_ptr和weak_ptr 200
6.3 移动构造与移动赋值 202
6.3.1 移动语义 202
6.3.2 std::move函数 204
6.3.3 移动构造函数 204
6.3.4 移动赋值运算符 206
6.4 合成的成员函数 207
6.4.1 用=default显式合成 208
6.4.2 用=delete阻止拷贝 208
6.5 动态内存应用示例 209
6.5.1 Array类的设计 209
6.5.2 String类的设计 212
6.6 案例实训 216
6.7 本章小结 217
6.8 习题 217
第7章 类的继承 219
7.1 面向对象编程:继承 219
7.2 派生类 220
7.2.1 派生类的定义 221
7.2.2 继承方式与访问控制 223
7.2.3 成员函数的同名覆盖与
隐藏 225
7.2.4 派生类与基类的赋值兼容 227
7.3 派生类的构造与析构 230
7.4 多重继承与虚基类 234
7.4.1 多重继承 234
7.4.2 虚基类 236
7.5 案例实训 240
7.6 本章小结 241
7.7 习题 242
第8章 多态性 245
8.1 面向对象编程:多态 245
8.2 虚函数与动态绑定 246
8.2.1 虚函数的定义与用法 246
8.2.2 override和final修饰符 249
8.2.3 动态绑定的实现方法 250
8.2.4 虚析构函数 252
8.3 纯虚函数与抽象类 254
8.4 案例实训 261
8.5 本章小结 262
8.6 习题 262
第9章 模板与泛型编程 266
9.1 函数模板 266
9.1.1 函数模板的定义与实例化 266
9.1.2 函数模板与重载 269
9.1.3 完美转发 270
9.2 类模板 272
9.2.1 类模板的定义与实例化 272
9.2.2 类模板与继承 277
9.2.3 类模板与友元 279
9.2.4 别名模板 280
9.2.5 变量模板 281
9.2.6 嵌套类模板 282
9.2.7 模板特例化 283
9.3 可变参数模板 284
9.3.1 可变参数函数模板 284
9.3.2 可变参数类模板 286
9.4 案例实训 287
9.5 本章小结 288
9.6 习题 288
第10章 标准模板库 291
10.1 STL组件概述 291
10.2 容器 293
10.2.1 顺序容器 293
10.2.2 关联容器 295
10.2.3 无序容器 297
10.3 迭代器 298
10.3.1 迭代器分类 299
10.3.2 迭代器适配器 302
10.4 算法与函数对象 304
10.4.1 泛型算法 304
10.4.2 函数对象 309
10.5 案例实训 312
10.6 本章小结 313
10.7 习题 314
第11章 输入输出流与文件 315
11.1 流概述 315
11.2 流的格式控制 317
11.2.1 流格式状态字 317
11.2.2 流格式操纵符 320
11.2.3 流格式控制成员函数 322
11.3 输入流与输出流 323
11.3.1 输入流 323
11.3.2 输出流 325
11.3.3 流与对象的输入输出 326
11.4 流的错误状态 328
11.5 文件的输入与输出 329
11.5.1 文件的基本操作 330
11.5.2 文本文件的输入与输出 333
11.5.3 二进制文件的输入与输出 335
11.6 字符串流 339
11.7 案例实训 340
11.8 本章小结 341
11.9 习题 341
第12章 异常与命名空间 344
12.1 异常处理 344
12.1.1 异常概述 344
12.1.2 抛出异常与堆栈展开 345
12.1.3 构造函数、析构函数和
异常 347
12.1.4 noexcept说明符 351
12.1.5 标准库中异常类 352
12.2 命名空间 357
12.2.1 命名空间的定义 357
12.2.2 命名空间与作用域 359
12.3 案例实训 360
12.4 本章小结 360
12.5 习题 361
第13章 C++/CLI程序设计基础 364
13.1 概述 364
13.2 C++/CLI的基本数据类型 366
13.3 C++/CLI的句柄、装箱与拆箱 368
13.4 C++/CLI的字符串与数组 371
13.4.1 C++/CLI中的String类 371
13.4.2 C++/CLI中的数组 373
13.5 C++/CLI中的类与属性 376
13.6 C++/CLI中的多态与接口 378
13.7 C++/CLI中的模板与泛型 382
13.8 C++/CLI中的异常 384
13.9 C++/CLI中的枚举 386
13.10 .NET中的委托与事件 387
13.10.1 委托 387
13.10.2 事件 390
13.11 案例实训 392
13.12 本章小结 392
13.13 习题 393
第14章 WinForm应用程序设计 395
14.1 鼠标坐标的显示 395
14.2 倒计时器 396
14.3 简易计算器 399
14.4 循环队列原理演示 405
14.5 随机运动的小球 410
14.6 案例实训 413
14.7 本章小结 414
14.8 习题 415
第15章 项目实践 416
15.1 系统概述 416
15.2 功能设计 416
15.3 系统设计 417
15.3.1 数据表设计 417
15.3.2 界面设计 417
15.4 模块设计与代码实现 418
15.4.1 实体类的实现代码 418
15.4.2 数据类的实现代码 418
15.4.3 菜单类的实现代码 418
15.4.4 应用程序类的实现代码 419
15.5 本章小结 419
15.6 习题 419
附录A ASCII码字符表 420
附录B IEEE浮点数表示 422