《C++编程实战:从0到1》详细地介绍了C++在实际项目中的具体编程应用,主要内容包括:数据类型,变量声明、范围,控制语句,引用、指针、函数、类与对象、输入输出流、模板和异常处理等。
通过这些章节的学习,《C++编程实战:从0到1》读者将可以编写自己的模板,以使泛型算法适用于任何类型。
通过《C++编程实战:从0到1》的学习读者将不仅能够编写符合实际应用的代码,而且还能够提高自己编写的程序的可读性、性能和可维护性。
《C++编程实战:从0到1》可作为高等学校计算机相关专业的程序设计入门教材、计算机技术的培训教材,或者作为全国计算机等级考试的参考用书和编程爱好者自学C++的教材。
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++在擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
C++采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。
C++继承性和多态性的组合,可以轻易地生成一系列虽然类似但却独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。
正是因为C++具有如此多的优点和如此强大的功能,使其一直在软件排行榜中占据Top5的位置,同时,C++也是目前我们开始课程种类最多、培训学员最多的编程语言。
本书编写的过程,就是我近些年C++知识和培训经验的总结。本书中基本涵盖了C++的要点,如数据类型,变量声明、范围,控制语句,引用、指针、函数、类与对象、输入输出流、模板和异常处理等,但是更重要的是,本书中知识点是以实际工作中的具体编程基础来编写的,同时,书中所提到的所有案例,都是我根据实际的项目中遇到的具体需求、实际编程过程和真实问题来编写的。
第1章 基础知识
1.1 计算机硬件结构概述
1.1.1 I/O设备
1.1.2 总线
1.1.3 主存
1.1.4 中央处理器
1.2 程序
1.3 进程与线程
1.4 定点数与浮点数
1.4.1 定点数
1.4.2 浮点数
1.4.3 浮点数的具体表示
1.4.4 浮点数的精度和数值范围
1.5 字符编码
1.5.1 ASCII
1.5.2 Latin1
1.5.3 ANSI
1.5.4 中文编码
1.6 正则表达式
1.6.1 简介
1.6.2 普通字符之不可见字符
1.6.3 正则表达式元字符
1.7 序列化与反序列化
1.7.1 数据的序列化与反序列化
1.7.2 JSON简介
1.7.3 JSON的简单实例
1.7.4 C++对象其他常见序列化方法
第2章 入门指南
2.1 引言
2.2 C++编译
2.2.1 头文件和源文件之间的差异
2.2.2 将文件编译为目标文件
2.2.3 连接目标文件
2.2.4 使用main()函数
2.3 内置数据类型
2.3.1 基本数据类型
2.3.2 数据类型修饰符
2.3.3 变量定义
2.3.4 变量初始化
2.4 指针和引用
2.4.1 指针
2.4.2 引用
2.4.3 常量限定符
2.4.4 变量的作用域
2.5 控制流语句
2.5.1 if-else选择语句
2.5.2 switch选择语句
2.5.3 for循环
2.5.4 while循环
2.6 Try-catch
2.7 数组
2.7.1 数组声明
2.7.2 数组初始化
2.7.3 访问数组的值
2.7.4 多维数组
2.8 总结
……
第3章 函数
第4章 类
第5章 泛型编程和模板
第6章 标准库容器和算法
第7章 面向对象编程
附录