编辑推荐
面向对象编程入门书,讲解C++抽象、封装、继承、多态等知识,助读者编写高质量C++代码。
内容简介
本书从开发角度出发,以Linux或者Windows为开发平台,从初学者的角度出发,以面向对象程序设计思想为主线,结合实际项目开发需求,将隐藏在面向对象背后的关于C++抽象、封装、继承、多态等机制和知识娓娓道来,用最通俗易懂的语言讲解知识点,不仅让读者知其然,更要让读者知其所以然,最终让这些知识再反作用于编程实践,从而帮助读者写出高“质”的C++代码。全书涉及了面向对象的方方面面,具体说来,主要讨论了包括面向对象语言的特点、MySQL数据库的应用、QT基础知识入门以及项目开发过程等多个方面的话题。
章节目录
封面
版权页
前言
目录
第1章 面向对象概述
1.1 C++概述
1.1.1 C++的发展
1.1.2 为什么要学习C++
1.2 面向过程和面向对象
第2章 C到C++的扩展
2.1 命名空间
2.1.1 什么是命名空间
2.1.2 命名空间的使用
2.1.3 命名空间完整示例代码
2.1.4 C++标准库和std命名空间
2.2 小程序“Hello World”
2.2.1 输出“Hello World”
2.2.2 C++的输入和输出(cin和cout)
2.3 变量定义的位置
2.4 register关键字的变化
2.5 struct的加强
2.6 三目运算符的加强
2.6.1 C与C++中三目运算符的不同
2.6.2 如何在C语言中实现C++的特性
2.7 bool类型
2.8 C/C++中的const
2.8.1 C中的const
2.8.2 C++中的const
2.8.3 const与define
2.9 C++中的引用
2.9.1 引用的概念与基本使用
2.9.2 引用作为函数参数
2.9.3 引用作为函数返回值
2.9.4 指针引用
2.9.5 常引用
2.9.6 引用的本质
2.10 C++内联函数
2.10.1 内联函数的概念和使用
2.10.2 内联函数的特点和使用限制
2.11 C++函数的默认参数
2.12 C++函数的占位参数
2.13 C++中的函数重载
2.13.1 函数重载的概念
2.13.2 C++函数重载与函数指针
2.13.3 函数重载的二义性
2.13.4 函数重载与const形参
2.14 C++的动态内存分配
2.14.1 new与delete的基本用法
2.14.2 拓展:多维数组的动态创建与释放
第3章 类和对象
3.1 面向对象编程介绍
3.1.1 什么是面向对象
3.1.2 面向对象的优点
3.1.3 面向对象的特点
3.1.4 总结
3.2 类和对象
3.2.1 类和对象的概念
3.2.2 类的访问控制
3.2.3 类的使用案例
3.2.4 面向对象编程实例
3.3 对象的构造和析构
3.3.1 构造函数
3.3.2 构造函数的重载和调用
3.3.3 拷贝构造函数
3.3.4 默认构造函数
3.3.5 析构函数
3.3.6 构造函数的参数初始化列表
3.3.7 对象的动态创建和释放
3.4 浅拷贝和深拷贝
3.4.1 浅拷贝问题分析
3.4.2 深拷贝
3.5 静态成员变量和静态成员函数
3.5.1 静态成员变量
3.5.2 静态成员函数
3.6 C++对象的内存模型
3.6.1 编译器对属性和方法的处理机制
3.6.2 this指针
3.6.3 const修饰成员函数
3.7 友元函数和友元类
3.7.1 友元函数
3.7.2 友元类
3.7.3 友元函数的几点说明
第4章 运算符重载
4.1 概念
4.1.1 什么是运算符重载
4.1.2 运算符重载的使用
4.2 运算符重载的规则
4.3 常用的运算符重载
4.3.1 前置++与后置++的重载
4.3.2 左移<<与右移>>操作符的重载
4.3.3 成员函数与友元函数重载的选择
4.4 赋值运算符=的重载
4.5 数组下标运算符[]的重载
4.6 函数调用运算符()的重载
4.7 new和delete运算符的重载
第5章 继承与派生
5.1 继承的概念及语法
5.1.1 类之间的关系
5.1.2 继承关系
5.1.3 继承的使用
5.2 派生类的访问控制
5.3 继承中的对象内存模型
5.4 派生类的构造函数和析构函数
5.4.1 派生类的构造函数
5.4.2 派生类的析构函数
5.4.3 继承与组合混搭情况下构造和析构调用原则
5.5 继承时的名字遮蔽
5.6 继承中的static关键字
5.7 继承中的类型兼容性原则
5.8 多继承
5.8.1 多继承的概念
5.8.2 多继承中的构造与析构
5.8.3 多继承导致的二义性问题
5.8.4 多继承时的对象内存模型
5.9 虚继承
5.9.1 虚继承与虚基类
5.9.2 虚继承时的构造函数
5.9.3 虚继承时的对象内存模型
第6章 多态
6.1 多态的概念与使用
6.2 虚函数详解
6.3 虚析构函数
6.4 多态的实现机制
6.4.1 多态原理
6.4.2 构造函数中调用虚函数能否实现多态
6.4.3 父类指针操作子类数组
6.5 多继承下的多态
6.6 虚继承下的多态
6.7 纯虚函数和抽象类
6.8 typeid运算符
6.9 静态绑定和动态绑定
7.1 函数模板
7.1.1 函数模板语法
7.1.2 函数模板和函数重载
7.1.3 函数模板机制
7.2 类模板
7.2.1 单个类的类模板语法
7.2.2 继承中的类模板语法
7.2.3 类模板的使用
7.3 类模板中的关键字static
第8章 异常
8.1 什么是异常
8.2 异常的语法
8.3 异常类型以及多级catch
8.4 throw详解
8.5 标准库异常
第9章 输入/输出流
9.1 输入/输出流介绍
9.1.1 输入/输出流的理解
9.1.2 流的理解
9.1.3 为什么要引用输入/输出流
9.1.4 流的缓冲区
9.2 标准输入/输出流
9.2.1 标准输入/输出流对象
9.2.2 输出流的使用
9.2.3 输入流的使用
9.2.4 输入/输出格式化
9.3 文件输入/输出流
9.3.1 文件的打开与关闭
9.3.2 文件的读写
9.4 字符串流的读写
第10章 标准模板库STL
10.1 STL概述
10.1.1 STL基本概念
10.1.2 容器
10.1.3 算法
10.1.4 迭代器
10.1.5 C++标准库
10.2 常用容器
10.2.1 string
10.2.2 vector容器
10.2.3 deque容器
10.2.4 list容器
10.2.5 map容器
10.2.6 set容器
10.3 常用算法
10.3.1 算法概述
10.3.2 算法分类
10.3.3 算法中函数对象和谓词
10.3.4 预定义函数对象和谓词
10.3.5 函数适配器
第11章 C++11/14新标准
11.1 概述
11.2 实用性加强
11.2.1 新类型
11.2.2 统一初始化
11.2.3 nullptr与constexpr
11.2.4 类型推导
11.2.5 基于范围的for循环
11.2.6 强类型枚举
11.2.7 智能指针
11.2.8 右值引用:移动语义和完美转发
11.3 类的加强
11.3.1 特殊成员函数
11.3.2 委托构造
11.3.3 继承构造
11.3.4 虚方法管理:override和final
11.3.5 显示禁用默认函数
11.4 对模板的加强
11.4.1 外部模板
11.4.2 尖括号<>
11.4.3 模板别名using=
11.4.4 默认模板参数
11.4.5 可变参数模板
11.5 lambda函数
11.6 对标准库的加强
11.6.1 新增容器
11.6.2 包装器
11.6.3 正则表达式
11.6.4 并发编程
第12章 常用设计模式
12.1 概述
12.2 设计模式的基本原则
12.3 常用设计模式
12.3.1 单例模式
12.3.2 简单工厂模式
12.3.3 工厂方法模式
12.3.4 抽象工厂模式
12.3.5 建造者模式
12.3.6 代理模式
12.3.7 装饰模式
12.3.8 策略模式
12.3.9 观察者模式
第13章 数据库基础
13.1 数据库简介
13.1.1 MySQL简介
13.1.2 关系型数据库
13.2 MySQL安装
13.2.1 MySQL安装测试
13.2.2 MySQL服务开启与使用
13.3 MySQL管理
13.3.1 MySQL用户设置
13.3.2 管理MySQL的命令
13.4 MySQL数据类型
13.4.1 整型
13.4.2 浮点型
13.4.3 定点数
13.4.4 字符串
13.4.5 二进制数据
13.4.6 日期和时间类型
13.4.7 数据类型的属性
13.5 MySQL使用
13.5.1 登录MySQL
13.5.2 建库建表
13.5.3 数据增删改查
13.5.4 删除整个数据库
13.6 MySQL接口使用
13.6.1 MySQL中文完全参考手册
13.6.2 获取错误信息
13.6.3 连接服务器
13.6.4 数据查询
13.6.5 MySQL的事务处理
13.6.6 索引
13.7 MySQL案例
第14章 Qt入门
14.1 Qt简介
14.1.1 Qt Creator的下载与安装
14.1.2 Qt Creator环境介绍
14.2 Hello World
14.2.1 编写Hello World程序
14.2.2 添加一个按钮
14.2.3 Qt的信号和槽机制
14.2.4 程序的发布和运行
14.3 窗口部件
14.3.1 基础窗口部件QWidget
14.3.2 对话框Qdialog
14.3.3 其他窗口部件
14.4 布局管理
14.4.1 布局管理系统
14.4.2 设置伙伴
14.4.3 设置Tab键顺序
14.5 常用控件介绍
14.5.1 常用控件需要加载的头文件
14.5.2 控件变量定义
14.5.3 控件初始化
14.5.4 在垂直布局中加载控件
14.5.5 常用控件使用
14.6 文件、目录和输入/输出
14.6.1 文件和目录
14.6.2 文本流和数据流(QDataStream和QtextStream)
14.7 Qt和数据库
14.7.1 连接到数据库
14.7.2 执行SQL语句
14.8 Qt网络编程
14.8.1 Qt和TCP
14.8.2 Qt和UDP
参考文献
面向对象的嵌入式软件开发是2018年由电子工业出版社出版,作者 钱瑛。
得书感谢您对《面向对象的嵌入式软件开发》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。