C++程式开发案例课堂


C++程式开发案例课堂

文章插图
C++程式开发案例课堂【C++程式开发案例课堂】《C++程式开发案例课堂》是清华大学出版社于2019年出版的图书,作者是刘春茂、李琪
基本介绍书名:《C++程式开发案例课堂》
作者:刘春茂、李琪
ISBN:9787302515210 
定价:78元 
出版社:清华大学出版社 
出版时间:2019.01.01 
图书简介《C++程式开发案例课堂》以零基础讲解为宗旨,採取【基础入门→核心技术→高级套用→项目开发实战】的讲解模式 。《C++程式开发案例课堂》第1篇【基础入门】主要讲解C++基本概念、C++的程式结构、数据类型、灵活使用运算符、程式流程控制等;第2篇【核心技术】主要讲解函式的套用、数组与字元串、指针、结构体、共用体和枚举类型、面向对象编程、构造函式和析构函式等;第3篇【高级套用】主要讲解运算符的重载、类的继承、虚函式和抽象类、C++操作档案、异常处理、模板与类型转换、容器和叠代器等;第4篇【项目开发实战】主要讲解开发计算器助手、开发汽车信息管理系统、开发银行交易系统、开发学校职工信息管理系统 。图书目录第1篇 基 础 入 门第1章 揭开C++的神秘面纱——我的第一个C++程式 31.1 认识C++ 41.2 C++的优势 51.3 常见的C++开发环境 61.4 新手的福音——Visual Studio 2017集成环境 81.4.1 安装Visual Studio 2017的条件 81.4.2 安装Visual Studio 2017 81.5 熟悉Visual Studio 2017开发界面 101.5.1 创建项目 101.5.2 选单栏 121.5.3 工具列 131.5.4 解决方案资源管理器 131.5.5 【属性】面板 141.5.6 【错误列表】面板 141.5.7 【输出】面板 141.6 实战演练——第一个C++项目 151.7 理解C++语言的翻译过程 161.8 大神解惑 171.9 跟我学上机 18第2章 零基础开始学习——C++的程式结构 192.1 分析C++程式的结构 202.1.1 #include指令及头档案 202.1.2 main函式 212.1.3 变数声明和定义 222.1.4 函式的声明 242.1.5 关于注释 252.2 编译前的预处理 262.3 输入和输出数据 292.3.1 cout输出数据 292.3.2 cin读取输入数据 322.4 命名空间 332.4.1 命名空间的定义 332.4.2 using关键字 342.4.3 命名空间std 352.5 实战演练——经典的入门程式 362.6 大神解惑 382.7 跟我学上机 38第3章 程式中的数据种类——数据类型 393.1 标识符 403.1.1 保留字 403.1.2 标识符命名 413.2 变数与常量 413.2.1 变数 413.2.2 常量 443.3 基本变数类型 463.3.1 整数类型 463.3.2 字元类型 483.3.3 浮点数类型 503.3.4 布尔类型 513.4 查询变数的类型和记忆体空间大小 523.5 自定义数据类型 533.6 实战演练——对比不同数据类型的长度 573.7 大神解惑 573.8 跟我学上机 58第4章 谁来运算元据——灵活使用运算符 594.1 运算符概述 604.1.1 赋值运算符 604.1.2 算术运算符 614.1.3 关係运算符 624.1.4 逻辑运算符 644.1.5 自增和自减运算符 654.1.6 位逻辑运算符 664.1.7 移位运算符 684.1.8 三元运算符 694.1.9 逗号运算符 704.1.10 类型转换运算符 714.2 运算符优先权和结合性 724.2.1 运算符优先权 724.2.2 运算符结合性 734.3 实战演练——综合运用运算符 754.4 大神解惑 764.5 跟我学上机 77第5章 程式的执行方向——程式流程控制 795.1 顺序语句 805.2 条件判断语句 815.2.1 if条件 815.2.2 if-else条件 825.2.3 条件运算符 835.3 循环语句 845.3.1 for循环 855.3.2 while循环 865.3.3 do-while循环 875.4 多重选择——switch语句 885.5 跳出循环 905.5.1 continue语句 905.5.2 break语句 905.5.3 goto语句 915.6 实战演练——流程控制综合套用 925.7 大神解惑 955.8 跟我学上机 96第II篇 核 心 技 术第6章 C++的灵魂——函式的套用 996.1 函式的基本结构 1006.1.1 函式的声明、定义和调用 1006.1.2 参数的传递方式 1016.1.3 函式的默认参数 1036.1.4 函式的返回值 1046.2 变数的作用域 1056.2.1 局部变数 1056.2.2 静态局部变数 1066.2.3 外部变数 1076.2.4 暂存器变数 1086.3 特殊函式调用方式——递归调用 1086.4 内联函式 1096.5 预处理器 1106.5.1 #define预处理器 1106.5.2 #define的作用 1116.5.3 const修饰符 1126.6 函式的重载 1136.7 实战演练——汉诺塔问题函式 1146.8 大神解惑 116 6.9 跟我学上机 116第7章 特殊的元素集合——数组与字元串 1177.1 一维数组 1187.1.1 一维数组的声明 1187.1.2 数组初始化 1197.1.3 数组的操作 1207.2 二维数组和多维数组 1217.2.1 二维数组的声明 1217.2.2 二维数组的使用和存取 1227.2.3 多维数组 1237.3 数组与函式 1257.3.1 一维数组作为函式的参数 1257.3.2 传送多维数组到函式 1267.4 字元串类 1277.4.1 字元串的声明 1277.4.2 字元串的输入和输出 1287.4.3 字元串处理 1297.5 实战演练1——判断字元串回文 1327.6 实战演练2——输出斐波那契数列 1347.7 大神解惑 1357.8 跟我学上机 136第8章 灵活调用记忆体地址——指针 1378.1 指针概述 1388.1.1 什幺是指针 1388.1.2 为什幺要用指针 1388.1.3 指针的地址 1398.2 指针变数 1398.2.1 指针变数的声明 1398.2.2 指针变数的使用 1408.3 指针与函式 1418.3.1 指针传送到函式中 1418.3.2 返回值为指针的函式 1428.3.3 函式指针 1438.4 指针与数组 1448.4.1 指针的算术运算 1458.4.2 利用指针存储一维数组的元素 1468.4.3 利用指针传递一维数组到函式中 1478.5 指针与字元串 1478.6 const指针 1488.7 void指针 1498.8 指向指针的指针 1498.9 动态记忆体配置 1508.9.1 使用基本数据类型做动态配置 1518.9.2 使用数组做动态配置 1528.10 实战演练——判断字元串中有多少个整数 1538.11 大神解惑 1558.12 跟我学上机 156第9章 灵活定义数据类型——结构体、共用体和枚举类型 1579.1 结构体 1589.1.1 结构体的声明 1589.1.2 结构体变数的初始化与使用 1599.1.3 结构体数组初始化 1619.2 将结构体变数作为函式参数 1629.2.1 将整个结构体传送到函式 1629.2.2 传送结构体的地址到函式 1639.3 共用体 1649.3.1 共用体的定义和声明 1649.3.2 共用体类型的初始化和使用 1659.3.3 struct和union的差异 166 9.4 枚举类型 1679.4.1 枚举类型的定义和声明 1679.4.2 枚举类型的初始化和使用 1689.5 实战演练——学生信息登记表 1699.6 大神解惑 1729.7 跟我学上机 172第10章 主流的编程思想——认识面向对象编程 17310.1 面向对象编程概述 17410.1.1 面向对象编程的几个概念 17410.1.2 面向对象编程与面向过程编程的区别 17510.2 认识类 17510.2.1 类的基本概念 17510.2.2 类的定义 17510.2.3 类对象的生成 17710.2.4 类对象指针 17810.3 成员函式 18010.4 嵌套类 18210.5 const成员函式 18210.6 类成员的访问控制 18410.6.1 私有成员 18410.6.2 公有成员 18510.6.3 保护成员 18610.7 静态成员 18710.7.1 静态数据成员 18710.7.2 静态成员函式 18910.8 友元函式 19010.9 实战演练——栈类的实现 19110.10 大神解惑 19310.11 跟我学上机 194第11章 类的特殊函式——构造函式和析构函式 19511.1 构造函式初始化类对象 19611.1.1 什幺是构造函式 19611.1.2 使用构造函式 19611.2 析构函式清除类对象 19811.2.1 析构函式的概念 19811.2.2 析构函式的调用 19811.3 默认构造函式 20011.4 重载构造函式 20111.4.1 重载构造函式的作用 20111.4.2 重载构造函式的调用 20111.5 类对象数组的初始化 20211.5.1 类对象数组调用 20311.5.2 类对象数组和默认构造函式 20411.5.3 类对象数组和析构函式 20611.6 拷贝构造函式 20711.6.1 拷贝构造函式的概念 20711.6.2 深拷贝和浅拷贝 20811.7 实战演练——构造函式和析构函式的套用 21011.8 大神解惑 21211.9 跟我学上机 212第III篇 高 级 应 用第12章 赋予新功能——运算符的重载 21512.1 什幺是运算符重载 21612.1.1 运算符重载的形式 21612.1.2 可重载的运算符 21812.2 重载前置运算符和后置运算符 21912.2.1 重载前置运算符 21912.2.2 重载后置运算符 22112.3 插入运算符和析取运算符的重载 22212.3.1 插入运算符重载 22212.3.2 析取运算符重载 223 12.4 常用运算符的重载 22512.4.1 “<”运算符的重载 22512.4.2 “+”运算符的重载 22612.4.3 “=”赋值运算符重载 22712.5 实战演练——重载运算符综合 套用 23012.6 大神解惑 23112.7 跟我学上机 232第13章 实现代码重用——类的继承 23313.1 继承的基本概念 23413.1.1 基类和继承类 23413.1.2 简单的基础实例 23513.2 调用父类中的构造函式 24013.3 子类存取父类成员 24313.3.1 私有成员的存取 24313.3.2 继承与静态成员 24413.4 多继承 24613.5 实战演练——继承的综合套用 24813.6 大神解惑 25013.7 跟我学上机 250第14章 实现多态性——虚函式和抽象类 25114.1 什幺是虚函式 25214.1.1 虚函式的作用 25214.1.2 动态绑定和静态绑定 25314.2 抽象类与纯虚函式 25514.2.1 定义纯虚函式 25514.2.2 抽象类的作用 25614.2.3 虚析构函式 25714.3 抽象类的多重继承 25914.4 虚函式表 26014.4.1 什幺是虚函式表 26014.4.2 继承关係的虚函式表 26214.5 实战演练——抽象类的综合套用 26314.6 大神解惑 26614.7 跟我学上机 266第15章 数据存储——C++操作档案 26715.1 档案的基本概念 26815.1.1 档案I/O 26815.1.2 档案顺序读写 27115.1.3 随机档案读写 27115.2 档案的打开与关闭 27315.2.1 档案的打开 27315.2.2 档案的关闭 27515.3 文本档案的处理 27515.3.1 将变数写入档案 27515.3.2 将变数写入档案尾部 27615.3.3 从文本档案中读入变数 27715.3.4 使用get()、getline()和 put()函式 27815.4 处理二进制档案 28015.5 实战演练——档案操作 28215.6 大神解惑 28415.7 跟我学上机 285第16章 解决问题的法宝——异常处理 28716.1 异常的基本概念 28816.2 异常处理机制 28816.3 抛出异常 28916.4 重新抛出异常 29116.5 捕获所有异常 29216.6 未捕捉到的异常 29316.7 标準异常 29416.8 异常规範 29416.9 异常与继承 29516.10 自定义异常类 296 16.11 捕获多个异常 29816.12 实战演练——异常处理套用 29916.13 大神解惑 30116.14 跟我学上机 302第17章 C++的高级技能——模板与类型转换 30317.1 模板 30417.1.1 函式模板 30417.1.2 类模板 30517.1.3 模板参数 30717.1.4 模板的特殊化 30817.1.5 重载和函式模板 30917.2 类型识别和强制转换运算符 31117.2.1 运行时类型识别 31117.2.2 强制类型转换运算符 31417.3 实战演练——模板的综合套用 31617.4 大神解惑 31817.5 跟我学上机 318第18章 控制元素的存储和访问——容器和叠代器 32118.1 STL 32218.2 叠代器 32218.3 顺序容器 32318.3.1 向量 32318.3.2 双端伫列 32518.3.3 列表 32618.4 关联容器 32718.4.1 集合和多集 32718.4.2 映射和多重映射 32918.5 容器适配器 33018.5.1 栈 33018.5.2 伫列 33118.5.3 优先权伫列 33218.6 实战演练——容器的综合操作 33318.7 大神解惑 33818.8 跟我学上机 338第IV篇 项目开发实战第19章 项目实训1——开发计算器助手 34119.1 需求分析 34219.2 功能分析 34219.3 开发前的準备工作 34319.4 系统代码编写 34319.4.1 CalculatorAssistant.h和 CalculatorAssistant.cpp档案 34419.4.2 Complex.h和Complex.cpp 档案 34719.4.3 Fraction.h和Fraction.cpp 档案 35119.4.4 main.cpp档案 35619.5 系统运行 35619.6 项目总结 358第20章 项目实训2——开发汽车信息管理系统 35920.1 需求分析 36020.2 功能分析 36020.3 开发前的準备工作 36220.4 系统代码编写 36220.4.1 Date.h档案 36220.4.2 DateException.h档案 36320.4.3 Vehicle.h和Vehicle.cpp 档案 36420.4.4 VehicleManage.h和 VehicleManage.cpp档案 36620.4.5 Main.cpp档案 37320.5 系统运行 37620.6 项目总结 378 第21章 项目实训3——开发银行交易系统 37921.1 需求分析 38021.2 功能分析 38021.3 开发前的準备工作 38121.4 系统代码编写 38221.4.1 交易流程处理、余额查询、存款和取款等功能 38221.4.2 相关设备模拟 38821.4.3 交易设备、资料库和账户等 具体实现 39021.4.4 设备处理、交易处理、操作 处理和验证处理等功能 39421.4.5 主程式运行入口 39821.5 系统运行 39821.6 项目总结 399第22章 项目实训4——开发学校职工信息管理系统 40122.1 需求分析 40222.2 功能分析 40222.3 开发前的準备工作 40422.4 系统代码编写 40422.4.1 职工信息的数据结构的基类属性和成员方法 40422.4.2 各人员类的声明、定义 和实现 40722.4.3 系统职工信息增删改查功能的 声明、定义 41322.4.4 系统增删改查以及选单功能的 实现 41622.4.5 主程式运行入口 43222.5 系统运行 43222.6 项目总结 434