《C++程序设计原理与实践》笔记 第15章 绘制函数图和数据图
本章讨论绘制函数图和数据图的基本机制。关键例子是绘制一元函数图像,以及展示从文件中读取的值。 15.1 引言 我们的主要目标不是输出的美观性,而是理解如何生成这样的图形输出以及所使用的编程技术。你会发现,本章使用的设计技术、编程技术和基本数学工具比展示的图形功能有更长久的价值。 15.2 绘制简单函数图 下面的代码绘制了 $y = 1$、$y = \frac{x}{2}$ 和 $y = ...
本章讨论绘制函数图和数据图的基本机制。关键例子是绘制一元函数图像,以及展示从文件中读取的值。 15.1 引言 我们的主要目标不是输出的美观性,而是理解如何生成这样的图形输出以及所使用的编程技术。你会发现,本章使用的设计技术、编程技术和基本数学工具比展示的图形功能有更长久的价值。 15.2 绘制简单函数图 下面的代码绘制了 $y = 1$、$y = \frac{x}{2}$ 和 $y = ...
本章借助图形接口类介绍接口设计的思想和继承的概念。为此,本章将介绍与面向对象程序设计直接相关的语言特性:类派生、虚函数和访问控制。 14.1 设计原则 我们的图形接口类的设计原则是什么? 14.1.1 类型 我们的程序设计理念是在代码中直接表示应用领域的概念。例如,Window表示窗口,Line表示一条线,Point表示一个坐标点,Color表示颜色,Shape表示所有形状的统称。最后一...
1.简介 CMake是一个开源的、跨平台的C++构建工具,通过平台和编译器无关的配置文件来声明构建目标,支持Make、ninja、MSBuild等多种底层构建工具,大多数IDE(例如CLion、Visual Studio、Visual Studio Code等)也都支持CMake。 网站:https://cmake.org/ 官方文档:CMake Reference Docume...
第12章介绍了如何使用一组简单的接口类创建图形。本章将介绍每个接口类的设计、使用和实现。 13.1 图形类概览 作者的GUI库提供的主要接口类: 类 描述 Color 用于设置线、文本及形状填充的颜色 Line_style 用于设置线型 ...
本章介绍了一个显示模型(display model)(GUI的输出部分),并给出了使用示例和基本概念,例如屏幕坐标、线和颜色等。 12.1 为什么需要图形? 我们为什么用四章的篇幅介绍图形以及一章介绍GUI? 图形很有用。例如,科学计算、数据分析需要数据图形化。 图形很有趣。一段代码的效果能够立刻呈现出来。 图形提供了许多有趣的代码来阅读。学习编程的一部分是阅读大量代码,寻...
在本章中,我们重点关注如何使第10章中介绍的通用iostream框架适配特定的需求和偏好。 11.1 规则性和不规则性 C++标准库的输入/输出部分——iostream库为文本的输入和输出提供了一个统一的、可扩展的框架。 到目前为止,我们将所有输入源视为等价的,有时这是不够的。例如,文件与其他输入源(例如网络连接)的区别是可以按单个字节寻址(而网络连接的字节是流式到达的)(类似于向量和迭...
在本章和下一章中,我们将介绍C++标准库中用于处理来自各种源的输入和输出的功能:I/O流。本章关注基本模型:如何读写单个值,以及如何打开和读写整个文件。下一章将介绍具体细节。 10.1 输入和输出 如果没有数据,计算就毫无意义。我们需要将数据输入到程序中来进行一些有价值的计算,并获取输出。数据的输入源和输出目标非常广泛。因此,我们需要一种将程序的读写操作与实际使用的输入/输出设备分离的方法...
在本章中,我们继续关注主要的程序设计工具——C++语言。本章主要介绍与用户自定义类型(即类和枚举)相关的语言技术细节。这些语言特性大部分是以逐步改进一个Date类型的方式来介绍的。采用这种方式,我们还可以顺便介绍一些有用的类设计技术。 9.1 用户自定义类型 C++语言提供了一些内置类型(built-in type),例如char、int和double。对于一个类型,如果编译器无须借助程序...
在本章和下一章中,我们将注意力从程序设计转移到主要的编程工具——C++语言上。我们会介绍一些语言的技术细节,来给出一个C++的基本功能的稍宽的视角,并从更系统化的角度讨论这些功能。 8.1 技术细节 程序设计(programming)(即如何用代码表达思想)远比程序设计语言的特性(技术细节)更有意思。但是,当你开始编程时,你必须学习编程语言的“语法和词汇”,这就是本章和下一章要做的事。但是...
1.简介 Apache Flink是一个开源的分布式流处理框架,旨在提供高效、可扩展、容错的流式数据处理技术,支持实时流处理和批处理,并提供了Java、Scala、Python等语言的API。 官方网站:https://flink.apache.org/ 官方文档:https://nightlies.apache.org/flink/flink-docs-stable/ AP...