C++程序设计——现代方法

本书特色

[

本书以C 1y标准为基准,详细介绍了对象和面向对象技术的概念,并围绕案例的求解,深入浅出地介绍了面向对象技术的4个核心思想(数据封装、继承、多态和泛型编程)在C 中的概念、实现机制和语法、编程方法等,其中包括类和对象、运算符重载、继承和派生、虚函数和多态性、模板和泛型编程、流库、多继承、名字空间和异常处理,使读者能够循序渐进地掌握C 的语法以及面向对象程序设计的方法。

]

内容简介

[

本书采用C++17标准, 围绕案例的分析和求解, 深入浅出地介绍了数据封装、继承和多态3个面向对象技术的核心概念在C++中的呈现。主要内容包括类与对象、运算符重载、继承和派生、虚函数和多态、模板、容器、泛型编程和多线程等。本着“能力为重”的理念, 编者在每一章的重要知识点之后均穿插了适量的实践性题目, 建议读者动手实践, 以加深理解。

]

作者简介

[

白忠建 博士,硕士生导师,电子科技大学软件与信息工程学院副教授,长期从事软件工程、程序设计方面的教学与科研工作。先后担任国家软件人才国际培训(成都)基地常务副主任、电子科技大学成都学院计算机系主任兼系党总支书记等职务。

]

目录

第1章 引论 11.1 C 程序概貌 11.1.1 编写**个C 程序 21.1.2 程序释义 31.2 面向对象的基本概念 51.2.1 对象 51.2.2 面向对象方法的核心概念 81.2.3 面向对象分析、设计和程序设计 8第2章 C :一个更好的C 102.1 基础类型 102.1.1 增强的字面常量 102.1.2 bool类型 122.1.3 强类型枚举 122.2 地址类型 142.2.1 指针类型 142.2.2 引用类型 162.3 类型自动推导 192.3.1 decltype关键字 192.3.2 auto关键字 202.4 运算符和表达式 202.4.1 C 特有的运算符 202.4.2 lambda表达式 232.5 控制结构和语句 252.6 异常处理及语句 262.6.1 异常以及异常抛出 262.6.2 try…catch语句 262.7 函数 302.7.1 函数的类型 302.7.2 函数的参数 302.7.3 函数的返回值 332.7.4 函数重载 372.7.5 回调函数 382.8 复杂类型声明的简化 402.9 名字空间 412.9.1 名字空间的定义 422.9.2 using声明和using指令 422.9.3 嵌套的名字空间 43第3章 类:面向对象的基石 443.1 案例—链表的实现 443.1.1 案例及其实现 443.1.2 案例问题分析 493.2 类 493.2.1 定义类类型和类对象 493.2.2 访问控制和数据封装 563.2.3 类的静态成员 603.2.4 struct和union 623.2.5 聚集与组合 623.3 类对象的构造、初始化和析构 633.3.1 类的构造函数 643.3.2 构造函数重载 673.3.3 统一初始化 693.3.4 析构函数 703.3.5 默认和被删除的成员函数 713.4 案例的完整解决方案 723.5 面向对象方法的应用 743.5.1 面向对象分析 753.5.2 面向对象设计 763.5.3 编码实现 77第4章 类的高级特性 804.1 案例—链表类的复制问题 804.1.1 案例及其实现 804.1.2 案例问题分析 844.2 复制控制 854.2.1 复制 854.2.2 赋值 864.2.3 浅复制和深复制 874.2.4 转移对象和转移语义 904.2.5 禁止复制 944.3 指向类成员的指针 954.4 友元 964.4.1 友元函数和友元类 964.4.2 友元关系的特性 984.5 类的const成员和mutable成员 994.5.1 类的const成员 994.5.2 类的mutable成员 1004.6 类中的类型名 1004.6.1 类中的类类型 1004.6.2 类中的枚举类型 1014.6.3 类中的typedef和using 1024.6.4 typename关键字 1024.7 案例的完整解决方案 102第5章 运算符重载 1065.1 案例分析—complex类及其常规运算 1065.1.1 案例及其实现 1065.1.2 案例问题分析 1075.2 运算符函数重载 1085.2.1 重载运算符函数的考虑因素 1085.2.2 运算符函数重载的一般性规则 1125.3 常用运算符的重载 1145.3.1 重载赋值运算符 1145.3.2 重载算术运算符 1155.3.3 重载关系运算符 1195.3.4 重载流式输入运算符>>和输出 1295.5.3 函数调用运算符() 132第6章 继承 1356.1 案例—四边形家族的类描述 1356.1.1 案例及其实现 1356.1.2 案例问题分析 1376.2 继承和派生 1396.2.1 定义基类和派生类 1396.2.2 继承的实现机制 1416.2.3 基类子对象的初始化 1426.2.4 基类成员的继承 1446.2.5 重新定义基类成员 1476.3 赋值兼容原则 1486.3.1 派生类和基类对象间的赋值 1486.3.2 引用作用于派生类和基类对象 1486.3.3 指针作用于派生类和基类对象 1496.4 多继承 1506.4.1 多继承的语法 1506.4.2 虚继承和虚基类 1516.4.3 多继承面临的其他问题 1526.5 继承的前提:正确的分类 1536.5.1 案例—基于角色的分类 1546.5.2 案例存在的问题 1556.5.3 案例的改进方案 156第7章 多态 1597.1 案例分析—赋值兼容原则的进一步应用 1597.1.1 案例及其实现 1597.1.2 案例问题分析 1607.2 多态的概念 1617.2.1 静态多态性 1617.2.2 动态多态性 1627.3 虚函数:实现多态的关键 1627.3.1 虚函数的声明和覆盖 1627.3.2 虚函数的实现原理 1677.3.3 虚析构函数 1697.4 纯虚函数和抽象类 1707.4.1 纯虚函数 1707.4.2 抽象类 171第8章 模板 1748.1 案例分析—类型带来的困扰 1748.1.1 案例的设计与实现 1748.1.2 案例问题分析 1788.2 变量模板 1798.2.1 定义和使用变量模板 1798.2.2 变量模板的特化 1808.3 函数模板 1818.3.1 定义和使用函数模板 1818.3.2 函数模板的重载和特化 1838.3.3 完美转发 1848.3.4 折叠表达式 1858.4 类模板 1878.4.1 定义和使用类模板 1888.4.2 类模板的特化 1918.4.3 类模板的友元 1918.4.4 类模板的继承和派生 1928.4.5 类模板的变长模板参数 1928.4.6 类模板性能的改进 1948.5 模板的别名 1968.6 traits技术 1988.6.1 特性萃取 1988.6.2 类型萃取 2008.6.3 随之而来的问题 2028.7 模板元编程初探 2048.7.1 模板递归 2048.7.2 奇异递归模板模式 205第9章 容器、迭代器和泛型算法 2079.1 案例分析—链表类的遍历 2079.1.1 案例的设计与实现 2089.1.2 案例问题分析 2099.2 容器的迭代器 2109.2.1 迭代器的结构设计 2109.2.2 迭代器的实现 2119.3 泛型算法 2179.3.1 只用到迭代器的泛型算法 2179.3.2 带更多参数的泛型算法 2189.3.3 只读算法和写算法 2209.3.4 泛型算法返回值类型的考虑 2219.3.5 iterator traits 2229.4 C 标准模板库STL 2249.4.1 C 的标准容器类 2249.4.2 C 的标准泛型算法和可调用对象 2249.4.3 C 的标准iterator库 225第10章 多线程 22610.1 案例分析—顺序执行的局限 22610.1.1 案例的设计与实现 22610.1.2 案例问题分析 22610.2 关键概念 22710.2.1 异步 22710.2.2 进程和线程 22710.2.3 共享和互斥 22810.2.4 锁和死锁 22810.3 C 的多线程库 22910.3.1 头文件 22910.3.2 头文件 23210.3.3 头文件 23410.3.4 头文件 23610.4 多线程编程示例 23910.4.1 系统简要分析 23910.4.2 系统设计 24010.4.3 系统实现 241第11章 面向对象设计的原则 24411.1 单一职责原则 24411.2 开闭原则 24711.3 聚集与组合复用原则 24811.4 里氏替换原则 24811.5 依赖倒置原则 24911.6 接口隔离原则 25111.7 *少知识原则 252第12章 C 程序设计案例 25712.1 案例描述 25712.2 系统分析 25812.2.1 MVC设计模式简介 25812.2.2 系统的用例模型 25912.3 系统设计 25912.3.1 系统体系结构设计 25912.3.2 对象设计 26012.3.3 用户界面设计 26312.4 系统实现 263附录A C 关键字 274附录B 常用运算符的优先级和结合性 275附录C 使用不同的C 编译器 276C.1 使用GNU GCC for Linux 276C.2 使用MinGW 277C.3 使用Visual Studio 2017(VS 2017) 277C.4 使用Clang 278参考文献 280

封面

C++程序设计——现代方法

书名:C++程序设计——现代方法

作者:白忠建编著

页数:280页

定价:¥59.8

出版社:人民邮电出版社

出版日期:2019-12-01

ISBN:9787115513731

PDF电子书大小:113MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注