出版社:清华大学出版社
年代:2013
定价:59.8
本书主要讲解C++基本特性并通过与实践相结合来讲述C++编程方法和技巧。全书共19章,前7章主要讲解和演示C++的面向结构化编程的特点与方法,打牢语法基础。在第8~11章主要讲解C++面向对象编程的特点及其功能。后续的章节讲解C++的泛型程序设计技巧与方法,最后综合本书的知识点来组织实现一个具体的项目。
第1篇 C++编程基础篇
第1章 C++编程前奏
1.1 计算机的五脏六腑
1.1.1 控制器
1.1.2 运算器
1.1.3 存储器
1.1.4 输入设备
1.1.5 输出设备
1.2 操作系统的进化史
1.3 编程语言的家谱
1.3.1 机器语言
1.3.2 汇编语言
1.3.3 高级语言
1.4 面向过程程序设计
1.5 面向对象程序设计
1.5.1 面向对象的方法由来——万物皆是对象
1.5.2 面向对象的基本概念
1.6 搭建C++开发环境
1.6.1 下载和安装大管家Visual C++6.0
1.6.2 大管家的责任
1.6.3 迈出第一步——第一个C++程序
1.7 C++编程简述
1.7.1 C++语言特点
1.7.2 C++的良好编程风格
1.8 本章小结
1.9 本章习题
第2章 开始C++开发之旅
2.1 机器的螺丝——基本数据类型和常用库函数
2.1.1 字符集和标识符
2.1.2 整型数据
2.1.3 浮点型数据
2.1.4 字符型数据
2.1.5 字符串和枚举常量
2.1.6 符号常量和变量
2.1.7 输入/输出函数
2.1.8 其他常用的函数
2.2 运算符和表达式
2.2.1 算术运算符
2.2.2 逻辑运算符
2.2.3 关系运算符
2.2.4 位操作运算符
2.2.5 赋值运算符和相等性运算符(==)
2.2.6 字节数运算符(sizeof)
2.2.7 运算符的优先级和结合性
2.2.8 算术表达式
2.2.9 逻辑表达式
2.2.1 0关系表达式
2.2.1 1条件表达式
2.2.1 2赋值表达式
2.2.1 3逗号表达式
2.3 类型转换
2.3.1 强制类型转换
2.3.2 自动类型转换
2.4 控制结构和语句
2.4.1 for重复结构及示例
2.4.2 while重复结构及示例
2.4.3 do/while重复结构及示例
2.4.4 if-else结构及示例
2.4.5 switch多选结构
2.4.6 break和continue语句
2.4.7 goto语句
2.5 预处理
2.5.1 文件包含命令(#include)
2.5.2 宏定义命令(#define)
2.6 本章小结
2.7 本章习题
第3章 数组和字符串
3.1 一维数组
3.1.1 一维数组定义
3.1.2 一维数组的初始化 68
3.1.3 一维数组元素的引用 68
3.1.4 一维数组示例 69
3.2 多维数组 71
3.2.1 多维数组定义 71
3.2.2 初始化多维数组 72
3.2.3 多维数组应用举例 73
3.3 字符数组和字符串 74
3.3.1 字符数组的定义和赋值 74
3.3.2 字符串的输入/输出 76
3.3.3 字符串应用示例 77
3.4 本章小结 78
3.5 本章习题 79
第4章 指针与引用(教学视频:46分钟)
4.1 市场经济--指针的定义及格式 81
4.1.1 什么是指针 81
4.1.2 声明一个指针 82
4.1.3 初始化指针变量 83
4.1.4 指向指针的指针 84
4.2 指针的运算 85
4.2.1 指针的赋值运算和增减值运算 85
4.2.2 指针比较运算和相减运算 87
4.2.3 指针运算和地址运算 88
4.3 指针和数组 89
4.3.1 使用数组名的指针表示法 89
4.3.2 指针数组 90
4.3.3 指向数组的指针 91
4.4 动态内存分配 94
4.4.1 使用new动态分配内存 94
4.4.2 delete释放动态申请的内存 94
4.4.3 malloc和free使用 96
4.4.4 内存动态申请注意事项 97
4.4.5 转换指针 99
4.5 常量指针和指向常量的指针 100
4.5.1 常量指针 100
4.5.2 指向常量的指针 101
4.6 人人都可以有绰号--引用 102
4.6.1 引用和引用的创建方法 102
4.6.2 引用和指针关系 103
4.7 本章小结 106
4.8 本章习题 106
第5章 结构体和共用体(教学视频:51分钟)
5.1 一串精美的珍珠——结构体 109
5.1.1 结构体的声明 109
5.1.2 结构体变量的定义和使用 110
5.1.3 结构体变量初始化 111
5.1.4 结构体数组定义和引用 113
5.1.5 结构体指针 114
5.1.6 结构体应用举例 117
5.2 大家的公共教室--共用体 121
5.2.1 共用体的声明 121
5.2.2 共用体变量定义和使用 121
5.2.3 共用体和结构体差异 123
5.2.4 共用体数组和指针 124
5.2.5 共用体应用举例 124
5.3 本章小结 126
5.4 本章习题 126
第6章 使用函数编程(教学视频:45分钟)
6.1 神秘的黑盒子--函数 128
6.1.1 程序模块化的优势 128
6.1.2 编写一个函数 129
6.2 理解函数 130
6.2.1 函数的定义 130
6.2.2 函数的声明 132
6.3 函数参数和返回值 133
6.3.1 什么是实参和形参 134
6.3.2 参数类型转换 135
6.3.3 函数参数默认值设置 136
6.3.4 函数参数值传递 137
6.3.5 函数参数指针传递 138
6.3.6 函数参数引用传递 141
6.3.7 函数返回值实现 142
6.4 递归函数和内联函数 143
6.4.1 递归函数示例 144
6.4.2 内联(inline)函数示例 145
6.5 函数的重载 146
6.5.1 重载函数特征 146
6.5.2 实现重载函数 147
6.5.3 重载函数的二义性问题 148
6.6 函数存储类型 149
6.6.1 外部函数 149
6.6.2 内部函数 150
6.7 本章小结 151
6.8 本章习题 151
第7章 函数高级应用(教学视频:37分钟)
7.1 小心地雷--内存操作问题 153
7.1.1 内存泄漏 153
7.1.2 野指针 155
7.2 函数与结构体、共用体 156
7.2.1 结构体和共用体作为函数参数 156
7.2.2 结构体和共用体作为返回值 157
7.3 函数与数组 159
7.3.1 一维数组作为函数参数 159
7.3.2 二维数组作为函数参数 160
7.4 函数指针 162
7.4.1 函数指针的定义 162
7.4.2 把函数作为参数传递 164
7.4.3 函数指针数组 165
7.5 main函数的参数--程序的入口 167
7.6 本章小结 169
7.7 本章习题 170
第2篇 面向对象程序设计篇
第8章 类和对象之基础(教学视频:43分钟)
8.1 类和对象的基本概念--抽象与具体辩证
8.1.1 类的概念 174
8.1.2 对象概念 175
8.1.3 类和对象的关系 175
8.2 类的定义格式和对象定义方法 176
8.2.1 类的定义格式 176
8.2.2 对象的定义方法 177
8.2.3 对象成员的表示 178
8.2.4 class和struct 180
8.3 一个对象的生与死 180
8.3.1 默认构造函数 180
8.3.2 自定义构造函数 181
8.3.3 析构函数 182
8.4 抄作业的秘密--拷贝构造函数 184
8.4.1 理解拷贝构造函数 184
8.4.2 默认的拷贝构造函数 184
8.4.3 拷贝构造函数方法的选择 185
8.5 公共饮水机--静态成员 189
8.5.1 静态数据成员 189
8.5.2 静态成员函数 191
8.6 只可远观而不可亵玩--常成员 192
8.7 类的类型转换 195
8.8 本章小结 200
8.9 本章习题 200
第9章 类和对象之进阶(教学视频:44分钟)
9.1 类的作用域和对象的生存期 203
9.1.1 类的作用域 203
9.1.2 对象的生存期 205
9.2 严格的海关--友元函数和友元类 207
9.3 对象指针和数组 210
9.4 按需选择--运算符重载 219
9.5 本章小结 226
9.6 本章习题 227
第10章 继承(教学视频:45分钟)
10.1 父子关系--何谓继承 229
10.2 继承和聚合 230
10.3 基类和派生类 230
10.4 多重继承 241
10.5 本章小结 248
10.6 本章习题 249
第11章 虚函数和多态性(教学视频:21分钟)
11.1 标准接口--什么是多态性 251
11.2 动态绑定和静态绑定 252
11.3 空瓶子--抽象基类和纯虚函数
11.3.2 抽象类 262
11.3.3 虚析构函数 263
11.4 类成员指针 264
11.5 本章小结 268
11.6 本章习题 269
第3篇 C++模板篇
第12章 函数模板(教学视频:16分钟)
12.1 认识函数模板 272
12.2 函数模板的参数 276
12.3 重载函数模板 278
12.4 本章小结 282
12.5 本章习题 283
第13章 类模板(教学视频:21分钟)
13.1 认识类模板 285
13.2 定义类模板 286
13.3 模板显式实例化 299
13.4 类模板的友元 301
13.5 模板的嵌套 303
13.6 本章小结 307
13.7 本章习题 307
第14章 标准模板库(STL)(教学视频:28分钟)
14.1 STL概述 309
14.2 使用vector容器 315
14.3 创建自己的迭代器 323
14.4 list容器 329
14.5 本章小结 333
14.6 本章习题 333
第4篇 输入/输出操作篇
第15章 输入/输出流和文件流(教学视频:32分钟)
15.1 C++中的输入/输出流 336
15.2 文件流 344
15.3 字符串流 351
15.4 对象和流 353
15.5 本章小结 356
15.6 本章习题 357
第16章 异常处理(教学视频:25分钟)
16.1 认识异常 359
16.2 用类对象作为异常 362
16.2.3 重新抛出异常 367
16.2.4 捕获所有异常 369
16.3 抛出异常的函数 371
16.4 其他典型异常 375
16.5 本章小结 378
16.6 本章习题 378
第17章 程序的预处理(教学视频:15分钟)
17.1 预处理简介 380
17.2 C++预处理程序 381
17.3 include(包含)文件 382
17.4 预处理指令#define 383
17.5 条件编译 387
17.6 #pragam 指令 389
17.7 本章小结 392
17.8 本章习题 392
第18章 string类和其他信息(教学视频:21分钟)
18.1 string类介绍和声明 393
18.2 string的输入/输出 394
18.3 string的基本操作 395
18.4 运行时类型信息(RTTI) 406
18.5 类型转换操作符 407
18.6 本章小结 408
18.7 本章习题 409
第5篇 项目实战篇
第19章 学生管理系统项目案例(教学视频:48分钟)
19.1 学生管理系统项目需求与设计 412
19.2 学生管理系统编程实现 416
19.3 学生管理系统总结 432
本书是一本与众不同的面向初学者的C++读物,不需要读者有太多的基础。本书以简单实用为原则,讲解通俗易懂,循序渐进,避免了云山雾罩、晦涩难懂。本书语言轻松活泼,用类比、对比、比喻等写作手法,并配合图解教学,对难点之处又给出了必要提示;书中的每个知识点都对应相应的编程实例,便于读者一边学习一边动手实践,既可以提高读者的动手能力,也可以激发学习兴趣。本书配1张光盘,内容为本书配套教学视频及源代码。另外,光盘中还赠送了Visual C++项目开发的源代码及教学视频。本书共19章,分为5篇。第1篇C++编程基础介绍了程序设计基本概念、基本数据类型和运行符、数组、指针与引用、结构体和共用体、函数封装;第2篇面向对象程序设计介绍了类和对象、继承、虚函数和多态性;第3篇C++模板介绍了函数模板、类模板和标准模板库;第4篇介绍了输入/输出流和文件流、异常处理、程序预处理、string类和其他信息;第5篇C++项目实战介绍了一个学生管理系统的 开发。本书适合C++编程新手阅读;有一定基础的读者,也可通过本书进一步理解C++的各个重要概念及知识点;对于大、中专院校的学生和培训班的学员,本书也不失为一本好教材。
资深C++程序员执笔,给读者奉献高品质的C++精品图书
浅显易懂,零门槛学习C++编程,真的很简单
娓娓道来,亲切自然,老鸟带领菜鸟,快速跨入C++编程的大门
10小时高清配套教学视频,赠送《C/C++程序员面试宝典》电子书,赠送本书教学PPT
170个典型实例、1个综合项目案例,通过动手实践提高开发水平
侯晓琴, 编著
马磊, 编著
张宁, 编著
(美) 霍顿 (Horton,I.) , 著
(美) 丽波缇 (Liberty,J.) , (美) 卡登海德 (Cadenhead,R.) , 著
(美) 立波提 (Liberty,J.) , (美) 卡登海德 (Cadenhead,R.) , 著
王浩, 编著
(美) 霍尔顿 (Horton,I.) , 著
(美) 霍登 (Horton,I.) , 著