内容简介
第1章 学习C++——认识C++
1.1 C/C++的起源
1.2 C++的特色
1.3关于ANSI/ISO C++标准
1.4语言的翻译过程
1.5编写代码前的准备——安装开发环境Visual Studio 2019
1.6小试身手——新建一个C++项目
1.7疑难解惑
1.8经典习题
第2章 C++程序结构
2.1简单程序
2.2 C++程序分析
2.2.1 #include指令及头文件
2.2.2 main函数
2.2.3变量声明和定义
2.2.4函数的声明
2.2.5关于注释
2.3输入输出对象
2.3.1 cout输出数据
2.3.2 cin读取输入数据
2.4标识符
2.4.1保留字
2.4.2标识符命名
2.5预处理
2.6命名空间
2.6.1命名空间的定义
2.6.2 using关键字
2.6.3命名空间std
2.7小试身手——入门经典程序
2.8疑难解惑
2.9经典习题
第3章 基本数据类型
3.1变量与常量
3.1.1变量
3.1.2常量
3.2基本变量类型
3.2.1整数类型
3.2.2字符类型
3.2.3浮点数类型
3.2.4布尔类型
3.3 typedef
3.4小试身手——测试基本数据类型的字节长度
3.5疑难解惑
3.6经典习题
第4章 运算符和表达式
4.1运算符概述
4.1.1赋值运算符
4.1.2算术运算符
4.1.3关系运算符
4.1.4逻辑运算符
4.1.5自增和自减运算符
4.1.6位逻辑运算符
4.1.7移位运算符
4.1.8三元运算符
4.1.9逗号运算符
4.1.10类型转换运算符
4.2运算符优先级和结合性
4.2.1运算符优先级
4.2.2运算符结合性
4.3小试身手——综合运用运算符
4.4疑难解惑
4.5经典习题
第5章 程序流程控制
5.1顺序语句
5.2条件判断语句
5.2.1 if条件
5.2.2 if-else条件
5.2.3条件运算符
5.3循环语句
5.3.1 for循环
5.3.2 while循环
5.3.3 do-while循环
5.4跳出循环
5.4.1 continue
5.4.2 break
5.5多重选择语句
5.6小试身手——计算商品总价
5.7疑难解惑
5.8经典习题
第6章 函数
6.1函数的基本结构
6.1.1函数的声明、定义和调用
6.1.2参数的传递方式
6.1.3函数的默认参数
6.1.4函数的返回值
6.2变量的作用域
6.2.1局部变量
6.2.2静态局部变量
6.2.3外部变量
6.2.4寄存器变量
6.3特殊函数调用方式——递归调用
6.4内联函数
6.5预处理器
6.5.1 #define预处理器
6.5.2 #define的作用
6.5.3 const修饰符
6.6函数的重载
6.7小试身手——汉诺塔问题函数
6.8疑难解惑
6.9经典习题
第7章 数组与字符串
7.1一维数组
7.1.1一维数组的声明
7.1.2数组初始化
7.1.3数组的操作
7.2二维数组和多维数组
7.2.1二维数组的声明
7.2.2二维数组的使用和存取
7.2.3多维数组
7.3数组与函数
7.3.1一维数组作为函数的参数
7.3.2传送多维数组到函数
7.4字符串类
7.4.1字符串的声明
7.4.2字符串的输入和输出
7.4.3字符串处理
7.5小试身手——判断字符串回文
7.6疑难解惑
7.7经典习题
第8章 指针
8.1指针概述
8.1.1什么是指针
8.1.2为什么要用指针
8.1.3指针的地址
8.2指针变量
8.2.1指针变量的声明
8.2.2指针变量的使用
8.3指针与函数
8.3.1指针传送到函数中
8.3.2返回值为指针的函数
8.3.3函数指针
8.4指针与数组
8.4.1指针的算术运算
8.4.2利用指针存储一维数组的元素
8.4.3利用指针传输一维数组到函数中
8.5指针与字符串
8.6 void指针
8.7指向指针的指针
8.8动态内存配置
8.8.1使用基本数据类型做动态配置
8.8.2使用数组做动态配置
8.9小试身手——判断字符串中有多少个整数
8.10疑难解惑
8.11经典习题
第9章struct和其他复合类型
9.1 struct
9.1.1 struct的声明
9.1.2 struct变量的初始化与使用
9.1.3 struct数组初始化
9.2将结构体变量作为函数参数
9.2.1将整个结构体传送到函数
9.2.2传送结构体的地址到函数
9.3 union
9.3.1 union的定义和声明
9.3.2 union类型的初始化和使用
9.3.3 struct和union的差异
9.4 enum
9.4.1 enum的定义和声明
9.4.2 enum的初始化和使用
9.5小试身手——学生信息登记表
9.6疑难解惑
9.7经典习题
第10章 类
10.1认识类
10.1.1类的基本概念
10.1.2类的定义
10.1.3类对象的生成
10.1.4类对象指针
10.2成员函数
10.3嵌套类
10.4 const成员函数
10.5类成员的访问控制
10.5.1私有成员
10.5.2公有成员
10.6静态成员
10.6.1静态数据成员
10.6.2静态成员函数
10.7友元
10.8小试身手——栈类的实现
10.9疑难解惑
10.10经典习题
第11章 构造函数和析构函数
11.1构造函数初始化类对象
11.1.1什么是构造函数
11.1.2使用构造函数
11.2析构函数清除类对象
11.2.1析构函数的概念
11.2.2析构函数的调用
11.3默认构造函数
11.4重载构造函数
11.4.1重载构造函数的作用
11.4.2重载构造函数的调用
11.5类对象数组的初始化
11.5.1类对象数组调用
11.5.2类对象数组和默认构造函数
11.5.3类对象数组和析构函数
11.6拷贝构造函数
11.6.1拷贝构造函数的概念
11.6.2深拷贝和浅拷贝
11.7小试身手——构造函数和析构函数的应用
11.8疑难解惑
11.9经典习题
第12章 运算符的重载
12.1什么是运算符重载
12.1.1运算符重载的形式
12.1.2可重载的运算符
12.2重载前置运算符和后置运算符
12.2.1重载前置运算符
12.2.2重载后置运算符
12.3插入运算符和折取运算符的重载
12.3.1插入运算符的重载
12.3.2折取运算符的重载
12.4常用运算符的重载
12.4.1“<”运算符的重载
12.4.2“+”运算符的重载
12.4.3“=”运算符的重载
12.5小试身手——运算符重载实例
12.6疑难解惑
12.7经典习题
第13章 类的继承
13.1面向对象编程概述
13.1.1面向对象编程的几个概念
13.1.2面向对象编程与面向过程编程的区别
13.2继承的基本概念
13.2.1基类和继承类
13.2.2简单的基础实例
13.2.3调用父类中的构造函数
13.3子类存取父类成员
13.3.1私有成员的存取
13.3.2继承与静态成员
13.3.3多继承
13.4小试身手——继承的应用
13.5疑难解惑
13.6经典习题
第14章 虚函数和抽象类
14.1什么是虚函数
14.1.1虚函数的作用
14.1.2动态绑定和静态绑定
14.2抽象类与纯虚函数
14.2.1定义纯虚函数
14.2.2抽象类的作用
14.2.3虚析构函数
14.3抽象类的多重继承
14.4虚函数表
14.4.1什么是虚函数表
14.4.2继承关系的虚函数表
14.5小试身手——抽象类的应用
14.6疑难解惑
14.7经典习题
第15章 C++中的文件处理
15.1文件的基本概念
15.1.1文件I/O
15.1.2文件顺序读写
15.1.3随机文件读写
15.2文件的打开与关闭
15.2.1文件的打开
15.2.2文件的关闭
15.3文本文件的处理
15.3.1将变量写入文件
15.3.2将变量写入文件尾部
15.3.3从文本文件中读入变量
15.3.4使用get()、getline()和put()函数
15.4二进制文件的处理
15.5小试身手——文件操作
15.6疑难解惑
15.7经典习题
第16章 异常处理
16.1异常的基本概念
16.2异常处理机制
16.3抛出异常
16.4重新抛出异常
16.5捕获所有异常
16.6不是错误的异常
16.7未捕捉到的异常
16.8 标准异常
16.9异常规范
16.10异常与继承
16.11异常处理的应用
16.11.1自定义异常类
16.11.2捕获多个异常
16.12小试身手——异常处理
16.13疑难解惑
16.14经典习题
第17章 模板与类型转换
17.1模板
17.1.1函数模板
17.1.2类模板
17.1.3模板参数
17.1.4模板的特殊化
17.1.5重载和函数模板
17.2类型识别和强制转换运算符
17.2.1运行时类型识别
17.2.2强制类型转换运算符
17.3小试身手——模板应用
17.4疑难解惑
17.5经典习题
第18章 容器和迭代器
18.1 STL
18.2迭代器
18.3顺序容器
18.3.1向量
18.3.2双端队列
18.3.3列表
18.4关联容器
18.4.1集合和多重集合
18.4.2映射和多重映射
18.5容器适配器
18.5.1栈
18.5.2队列
18.5.3优先级队列
18.6小试身手——容器操作实例
18.7疑难解惑
18.8经典习题
第19章 开发商场采购系统
19.1系统需求分析
19.2功能分析
19.3系统代码编写
19.3.1密码文件和购物单文件
19.3.2管理员登录功能
19.3.3采购系统的主功能
19.3.4采购操作功能和验证功能的实现
19.3.5主程序运行入口
19.4系统运行
第20章 开发推箱子游戏
20.1系统功能描述
20.2系统功能分析及实现
20.2.1功能分析
20.2.2功能实现
20.3游戏运行