内容推荐 C++能支持任何应用开发,包括基于WebAssembly的网页开发。本书从实战需求出发,简要介绍了汇编语言和C语言,通过栈或队列等易于理解的案例,由浅入深地介绍C++的相关概念,内容覆盖每三年更新一次的多版C++国际标准。针对知乎网站各种人员提出的数千问题,仔细地组织教学内容和案例,注重核心概念和基础理论的介绍,以使读者能理论联系实际解决新问题。 为了提高读者的系统建模及程序设计能力,本书配备了丰富生动的实例、习题、实验及课设题目。课设题目同时涉及简单的数学建模、面向对象建模及图形用户界面三层模式开发。通过视频微课等丰富的教学资源和手段,完整地展示了安装配置、界面设计等开发过程,以使读者能从C++初学者逐步成长为技能成熟的程序员,并具备软件系统分析师的视野和素养。 目录 第1章 C++引论 1.1 计算机的体系结构 1.1.1 计算机系统的体系结构 1.1.2 数据与机器指令的解析 1.2 进制及其转换和运算 1.2.1 计算机采用二进制的原因 1.2.2 C++的常用进制及其运算 1.3 80x86系列汇编语言 1.3.1 汇编语言及C++编译简介 1.3.2 汇编指令及C++程序编译 1.4 C++的发展历史及特点 1.4.1 C++的发展历史 1.4.2 C++的特点 1.5 语法图与程序流程图 1.5.1 C++的语法图 1.5.2 程序流程图 1.6 编译环境的安装与使用 1.6.1 编译过程及编译环境 1.6.2 Microsoft Visual Studio 2019的安装 练习题 第2章 类型、常量及变量 2.1 C++的单词 2.1.1 C++的字符集 2.1.2 C++的关键字 2.2 预定义类型及值域和常量 2.2.1 预定义类型及其数值转换 2.2.2 强制类型转换及类型值域 2.2.3 预定义类型及相关常量 2.3 变量及其类型解析 2.3.1 变量的声明和定义 2.3.2 指针及其类型理解 2.3.3 有址引用变量 2.3.4 无址引用变量 2.3.5 元素、下标及数组 2.4 运算符及表达式 2.4.1 位运算与等号运算 2.4.2 指针运算及其结合方向 2.4.3 关系运算及结果转换 2.5 结构与联合 2.5.1 结构体 2.5.2 联合体 练习题 第3章 语句、函数及程序设计 3.1 C++的语句 3.1.1 简单语句 3.1.2 转移语句 3.1.3 分支语句及分支预选 3.1.4 循环语句 3.1.5 break和continue语句 3.1.6 asm和static_assert语句 3.2 C++的函数 3.2.1 函数声明与定义 3.2.2 头文件与声明 3.2.3 函数的参数声明 3.2.4 函数重载 3.2.5 inline、constexpr及consteval函数 3.2.6 线程互斥及线程本地变量 3.3 作用域 3.3.1 全局作用域与文件作用域 3.3.2 局部作用域与块作用域 3.4 生命期 3.5 程序设计实例 3.5.1 栈编程实例 3.5.2 队列编程实例 3.5.3 有限自动机编程实例 练习题 第4章 C++的类 4.1 类的声明及定义 4.1.1 面向对象的基本概念 4.1.2 类及对象定义的实例 4.2 成员访问权限及突破方法 4.2.1 成员的访问权限 4.2.2 突破成员的访问权限 4.3 内联、匿名类及位域 4.3.1 函数成员的内联 4.3.2 无对象的静态匿名联合 4.3.3 局部类及位域成员 4.4 new和delete运算符 4.4.1 简单类型及单个对象内存管理 4.4.2 复杂类型及对象数组内存管理 4.5 隐含参数this 4.6 对象的构造与析构 4.6.1 构造函数及对象初始化 4.6.2 成员默认值及构造与析构 4.7 类及对象的内存布局 练习题 第5章 成员及成员指针 5.1 实例成员指针 5.1.1 实例成员指针的用法 5.1.2 实例成员指针的限制 5.2 const、volatile和mutable 5.2.1 const和volatile的用法 5.2.2 mutable实例数据成员 5.3 静态数据成员 5.3.1 静态数据成员的用法 5.3.2 静态数据成员的限制 5.4 静态函数成员 5.4.1 静态函数成员的访问 5.4.2 静态函数成员的限制 5.5 静态成员指针 5.5.1 静态成员指针的用法 5.5.2 多种指针的混合用法 5.6 联合的成员指针 练习题 第6章 继承与构造 6.1 单继承类 6.2 继承方式 6.2.1 继承后成员的访问权限 6.2.2 访问权限的修改 6.3 成员访问及其指针 6.4 构造与析构 6.4.1 对象构造的执行顺序 6.4.2 new、delete引起的构造与析构 6.5 父类与子类 6.5.1 父类及其函数调用 6.5.2 友元和派生类函数中的父子类关系 6.6 派生类的内存布局 练习题 第7章 可访问性 7.1 作用域运算符 7.1.1 面向对象的作用域 7.1.2 面向过程的作用域 7.2 名字空间 7.2.1 名字空间的基本用法 7.2.2 使用名字空间的注意事项 7.3 成员友元 7.3.1 成员友元的一般用法 7.3.2 互为依赖的类的友元 7.4 普通友元及其注意事项 7.4.1 普通友元的一般用法 7.4.2 友元使用的注意事项 7.5 覆盖与隐藏 7.5.1 覆盖与隐藏的用法 7.5.2 使用using避免数据成员覆盖 7.6 同体与异体 练习题 第8章 多态与虚函数 8.1 虚函数 8.1.1 虚函数的声明及定义 8.1.2 虚函数的重载及内联 8.2 虚析构函数 8.3 类的引用 8.3.1 类的引用变量及其析构 8.3.2 类的引用参数及其析构 8.4 抽象类 8.4.1 抽象类的定义及用法 8.4.2 抽象类的应用实例 8.5 虚函数友元与晚期绑定 8.5.1 虚函数作为友元 8.5.2 虚函数的晚期绑定 8.6 有虚函数时的内存布 |