本书从初学者的角度出发,以面向对象的程序设计思想为主线,以通俗易懂的语言详细讲解了C++语言,引导读者以比较自然的方式,将人类习惯的面向对象的思维方式运用到程序设计中。全书共11章,第1章主要讲解了C++语言相对于C语言在基础知识上的扩充。第2—7章分别讲解了类与对象、继承与多态、运算符重载、模板、I/O流和异常,这一部分是C++语言的核心内容,熟练掌握这些知识,是C++程序开发的基本要求。第8-10章分别讲解了STL、设计模式以及C++11的一些新特性,作为C++程序员,这一部分内容或早或晚都必须要学习,熟练掌握它们可使程序开发更加得心应手。第11章为项目实战,结合前面所学知识,开发了一个企业级项目——物流管理系统,让编程人员切身感受真正的项目开发流程!
本书附有配套视频、源代码、习题、教学课件等资源,而且为了帮助初学者更好地学习本书讲解的内容,还提供了在线答疑,希望得到更多读者的关注。
本书既可作为高等院校本、专科计算机相关专业的C++语言程序设计技术的教材,也可作为C++语言技术基础的培训教材,是一本适合广大计算机编程爱好者的优秀读物。
特色1:辐射式知识网,知识面广
在C语言的基础上,以C++的核心知识“类和对象”为中心,辐射式展开一张知识网,将C++知识融合进来。对于开发中常用的开发技巧、设计模式、STL库,本书都有讲解,扩展读者的知识面。
特色2:逻辑思维严谨清晰
逻辑思维清晰,语言精炼严谨。
特色3:使用新版本开发工具,加入真实企业级项目
本书使用Visual Studio2013开发案例,并且在最后一个章节开发了一个企业级的综合项目——物流管理系统。
特色4:教材、资源、服务三合一,高效学习
本书配套了多种资源供广大师生使用,另外,不管您是老师还是学生,使用我们的教材、资源过程中,遇到任何问题,都可以联系我们,我们的服务是贴心、专业的。
第1章 初识C++ 1.1 C++简介 1.1.1 C++的发展史 1.1.2 C++的特点 1.1.3 C++应用领域 1.2 第一个C++程序 1.3 C++对C的扩充 1.3.1 bool类型 1.3.2 C++中的类型转换 1.3.3 C++中的字符串—string 1.3.4 引用 1.3.5 动态分配内存(new与delete) 1.3.6 默认参数 1.3.7 内联函数 1.3.8 重载函数 1.4 小结 第2章 类与对象 2.1 面向对象程序设计 2.1.1 面向过程程序设计 2.1.2 面向对象程序设计 2.1.3 面向对象的基本概念 2.2 类与对象 2.2.1 类和对象的关系 2.2.2 类的定义 2.2.3 类的成员 2.2.4 对象的创建与使用 2.2.5 this指针 2.2.6 类的成员的访问控制 2.3 构造函数和析构函数 2.3.1 构造函数 2.3.2 包含对象成员的类的构造函数 2.3.3 析构函数 2.3.4 拷贝构造函数 2.3.5 深拷贝与浅拷贝 2.4 类中特殊的成员变量 2.4.1 用static修饰数据成员 2.4.2 用const修饰数据成员 2.5 类中特殊的成员函数 2.5.1 静态成员函数 2.5.2 用const修饰的成员函数 2.5.3 类中的内联函数 2.6 友元 2.6.1 友元函数 2.6.2 友元类 2.7 小结 第3章 继承与多态 3.1 继承 3.1.1 继承的概念 3.1.2 继承权限 3.1.3 类型兼容 3.2 派生类 3.2.1 构造函数 3.2.2 析构函数 3.2.3 隐藏基类函数 3.3 多重继承 3.3.1 声明多重继承的方式 3.3.2 多重继承派生类的构造函数 3.3.3 多重继承引起的二义性 3.3.4 虚基类 3.4 多态 3.4.1 多态性概念 3.4.2 虚函数 3.4.3 纯虚函数 3.5 抽象类与内部类 3.5.1 抽象类 3.5.2 内部类 3.6 小结 第4章 运算符重载 4.1 运算符重载的意义 4.2 类对象的四则运算 4.3 运算符重载的规则 4.3.1 运算符重载规则 4.3.2 运算符重载方式 4.4 常用运算符的重载 4.4.1 输入输出运算符的重载 4.4.2 关系运算符的重载 4.4.3 赋值运算符重载 4.4.4 下标运算符重载 4.4.5 类型转换函数 4.5 小结 第5章 模板 5.1 函数模板 5.1.1 定义一个函数模板 5.1.2 函数模板的实例化 5.1.3 函数模板的重载 5.2 类模板 5.2.1 定义一个类模板并实例化 5.2.2 在类模板外部定义成员函数 5.2.3 类模板与友元函数 5.3 派生与模板 5.3.1 模板的参数 5.3.2 类模板的派生 5.4 模板特化 5.5 小结 第6章 I/O流 6.1 C++中的输入输出 6.1.1 C++中输入输出的分类 6.1.2 C++I/O流类的安全性与可扩展性 6.2 I/O流类库简介 6.2.1 I/O流类库 6.2.2 缓冲区类 6.3 标准输出流和标准输入流 6.3.1 提取运算符和插入运算符 6.3.2 预定义流对象 6.3.3 标准输出流 6.3.4 标准输入流 6.4 格式化控制 6.4.1 格式标志 6.4.2 精度、域宽、填充字符的设置 6.4.3 操作符的格式控制 6.5 文件流 6.5.1 构建文件流对象 6.5.2 文件的打开与关闭 6.5.3 文件的读写 6.5.4 文件的随机读写 6.6 字符串流 6.7 小结 第7章 异常与断言 7.1 异常的概念 7.2 异常处理 7.2.1 异常处理机制 7.2.2 异常处理结构 7.2.3 异常处理模式 7.2.4 异常规范说明 7.3 异常类 7.4 捕捉异常 7.4.1 重抛异常 7.4.2 捕捉所有异常 7.5 标准库中的异常处理 7.6 断言 7.6.1 断言概述 7.6.2 断言的使用 7.7 小结 第8章 初识STL 8.1 STL简介 8.2 序列式容器 8.2.1 序列式容器概述 8.2.2 vector类模板 8.2.3 deque类模板 8.2.4 List类模板 8.3 关联型容器 8.3.1 关联型容器概述 8.3.2 set/multiset类模板 8.3.3 map/multimap类模板 8.4 迭代器 8.4.1 迭代器概述 8.4.2 输入迭代器与输出迭代器 8.4.3 前向迭代器 8.4.4 双向迭代器与随机访问迭代器 8.5 迭代器适配器 8.5.1 逆向迭代器 8.5.2 插入迭代器 8.5.3 流迭代器 8.6 迭代器适辅助函数 8.7 算法 8.7.1 算法概述 8.7.2 常用算法 8.8 小结 第9章 设计模式与C++11新特性 9.1 设计模式 9.1.1 设计模式简介 9.1.2 单例模式 9.1.3 工厂模式 9.1.4 代理模式 9.1.5 迭代器模式 9.2 C++11常用新特性 9.2.1 auto类型说明符 9.2.2 统一的初始化 9.2.3 右值引用 9.2.4 空指针常量 9.2.5 限定作用域的枚举类型 9.2.6 lambda表达式 9.2.7 基于范围的for语句 9.2.8 委托构造函数 9.2.9 继承构造函数 9.2.10 管理虚方法:override和final 9.2.11 外部模板 9.2.12 可变参数模板 9.2.13 静态断言 9.3 小结 第10章 综合项目-物流货仓管理系统 10.1 项目分析 10.1.1 功能描述 10.1.2 项目分析 10.2 项目实现 10.2.1 创建项目 10.2.2 项目设计 10.2.3 项目实现 10.2.4 主函数实现 10.2.5 效果展示 10.3 项目心得