本书是一本C++入门书籍,适合初学者使用。全书共分为11个章节,第1章主要介绍了C++对C语言的扩充;第2~5章主要介绍了C++的核心知识,包括类与对象、运算符重载、继承与派生、多态与虚函数;第6~7章主要介绍了模板与STL;第8~9章主要介绍了C++的I/O流和异常处理;第10章主要介绍了C++11标准新特性;第11章带领学生开发了一个综合项目——酒店管理系统,让学生融会贯通前面所学知识,并了解实际项目开发流程。
本书作为C++入门教材,可作为高等院校本、专科计算机相关专业的C++程序设计技术教材,也可作为C++技术基础培训教材,是一本适合广大计算机编程爱好者的优秀读物。
第1章 初识C++ 1.1 C++简介 1.1.1 C++发展史 1.1.2 C++特点 1.2 第一个C++程序 1.3 C++对C的扩充 1.3.1 命名空间 1.3.2 控制台输入输出 1.3.3 类型增强 1.3.4 默认参数 1.3.5 函数重载 1.3.6 引用 1.3.7 字符串类 1.3.8 new/delete 1.3.9 extern “C” 1.3.10 强制类型转换 1.4本章小结 1.5本章习题 第2章 类与对象 2.1 面向对象程序设计思想 2.2 初识类和对象 2.2.1 类的定义 2.2.2 对象的创建与使用 2.3 封装 2.4 this指针 2.5 构造函数 2.5.1 自定义构造函数 2.5.2 重载构造函数 2.5.3 含有类成员对象的构造函数 2.6 析构函数 2.7 拷贝构造函数 2.7.1 拷贝构造函数的定义 2.7.2 浅拷贝 2.7.3 深拷贝 2.8 关键字修饰类的成员 2.8.1 const修饰类的成员 2.8.2 static修饰类的成员 2.9 友元 2.9.1 友元函数 2.9.2 友元类 2.10 本章小结 2.11 本章习题 第3章 运算符重载 3.1 运算符重载概述 3.1.1 运算符重载的语法 3.1.2 运算符重载的规则 3.1.3 运算符重载的方式 3.2 常用的运算符重载 3.2.1 输入输出运算符重载 3.2.2 关系运算符重载 3.2.3 赋值运算符重载 3.2.4 下标运算符重载 3.3 类型转换 3.3.1 类型转换函数 3.3.2 转换构造函数 3.4 仿函数—重载()运算符 3.5 智能指针—重载*和->运算符 3.6 本章小结 3.7 本章习题 第4章 继承与派生 4.1 继承 4.1.1 继承的概念 4.1.2 继承方式 4.1.3 类型兼容 4.2 派生类 4.2.1 派生类构造函数与析构函数 4.2.2 在派生类中隐藏基类成员函数 4.3 多继承 4.3.1 多继承方式 4.3.2 多继承派生类的构造函数与析构函数 4.3.3 多继承二义性问题 4.4 虚继承 4.5 本章小结 4.6 本章习题 第5章 多态与虚函数 5.1 多态概述 5.2 虚函数实现多态 5.2.1 虚函数 5.2.2 虚函数实现多态的机制 5.2.3 虚析构函数 5.3 纯虚函数和抽象类 【阶段案例】:停车场管理系统 一、案例描述 二、案例分析 三、案例实现 5.4 本章小结 5.5 本章习题 第6章 模板 6.1 模板的概念 6.2 函数模板 6.2.1 函数模板的定义 6.2.2 函数模板实例化 6.2.3 函数模板重载 6.3 类模板 6.3.1 类模板定义与实例化 6.3.2 类模板的派生 6.3.3 类模板与友元函数 6.4 模板的参数 6.5 模板特化 6.6 本章小结 6.7 本章习题 第7章 STL标准模板库 7.1 STL标准模板库组成 7.2 序列容器 7.2.1 vector 7.2.2 array 7.2.3 list 7.2.4 forward_list 7.3 关联容器 7.3.1 set和multiset 7.3.2 map和multimap 7.4 容器适配器 7.4.1 stack 7.4.2 queue 7.4.3 priority_queue 7.5 迭代器 7.5.1 输入迭代器与输出迭代器 7.5.2 前向迭代器 7.5.3 双向迭代器与随机访问迭代器 7.6 算法 7.6.1 算法概述 7.6.2 常用算法 【阶段案例】:演讲比赛 一、案例描述 二、案例分析 三、案例实现 7.7 本章小结 7.8 本章习题 第8章 I/O流 8.1 I/O流类库 8.1.1 ios类库 8.1.2 streambuf类库 8.2 标准I/O流 8.2.1 预定义流对象 8.2.2 标准输出流 8.2.3 标准输入流 8.3 文件流 8.3.1 文件流对象的创建 8.3.2 文件的打开与关闭 8.3.3 文本文件的读写 8.3.4 二进制文件的读写 8.3.5 文件随机读写 8.4 字符串流 8.5 本章小结 8.6 本章习题 第9章 异常 9.1 异常处理方式 9.2 栈解旋 9.3 标准异常 9.4 静态断言 9.5 本章小结 9.6 本章习题 第10章 C++11新特性 10.1 简洁的编程方式 10.1.1 关键字 10.1.2 基于范围的for循环 10.1.3 lambda表达式 10.2 智能指针 10.2.1 unique_ptr 10.2.2 shared_ptr 10.2.3 weak_ptr 10.3 提高编程效率 10.3.1 右值引用 10.3.2 移动构造 10.3.3 move()函数 10.3.4 完美转发 10.3.5 委托构造 10.3.6 继承构造 10.3.7 函数包装 10.4 并行编程 10.4.1 多线程 10.4.2 互斥锁 10.4.3 lock_guard和unique_lock 10.4.4 条件变量 10.4.5 原子类型 10.5 支持更多扩展 10.5.1 原生字符串 10.5.2 Unicode编码支持 10.5.3 新增的库 10.5.4 aliganof和aliganas 10.6 本章小结 10.7 本章习题 第11章 综合项目—酒店管理系统 11.1 项目分析 11.1.1 功能描述 11.1.2 项目设计 11.2 项目实现 11.2.1 客房模块的实现 11.2.2 客房管理模块的实现 11.2.3 界面模块的实现 11.2.4 main()函数实现 11.3 效果显示 11.4 程序调试 11.4.1 设置断点 11.4.2 单步调试 11.4.3 观察变量 11.4.4 项目调试 11.5 项目心得 11.6 本章小结