第一次c++设计程序总结

本周主要进行了图书馆系统的设计,用c++学到了很多,周末记录一下

关于c++输入输出流

关于这个流,一直比较模糊,故今天整理了一下大体的轮廓

你有没有想过,用什么来比喻程序数据的传输呢?

计算机前辈们很早就想过这个概念,这个概念就是流

信息从外部输入设备(入键盘和磁盘)向计算机内部(即内存)输入。或从内存向外部输出设备(如显示器和磁盘)输出的过程,被形象的比喻称为流

缓冲区

  1. 系统在主存当中专门开辟的用于存放I/O数据的区域,我们称之为缓冲区(buffer),流可以使缓冲形式的,也可以是非缓冲形式的,对于缓冲流,当我们的缓冲区满或者对缓冲区发出刷新的命令的时候,我们就可以将缓冲区的数据与操作真正实现。
  2. 我们可以类比成我们修改html文档的过程:当我们修改一次的的时候,往往是在html文档里面修改很多的地方然后去浏览器一次性刷新,我们在代码中修改文档就相当于在缓冲区进行操作,只不过这里没有缓冲区满的情况。
  3. windows 系统 的 的全缓冲区的大小是4096个字节,也就是输入到4096字节就不能再输入并且自动刷新缓冲区缓冲区,执行I/O操作

c++的“流”那一家子

第一次c++设计程序总结_第1张图片

  1. 为了实现信息的内外流动,c++系统定义了I/O类库,其中的每一个类都称作相应的流或流类,用以完成某一方面的功能。通常把一个流类性定义的对象也称为流

    streambuf用于管理一个流的缓冲区

    istream提供输入操作的成员函数

    ostream提供输出操作的成员函数

    iostream也就是我们经常用的,没有提供新的成员函数,只是将istream类和ostream类组合到一起,称为一个流类库中的战斗机

文件流

我们对于输入输出流有一定的基础之后,开始进入文件流的世界

概述

在c++中,文件被看作是字符序列,即文件是由一个个的字符数据顺序组成的,是一个字符流,要对文件进行I/O,就必须创建一个流(对象),然后将这个流与文件相互关联,就可以在打开文件之后,对此文件进行读写操作,操作完成之后,再关闭这个文件。

有了这个概念,以及一些列操作,必然有对应的类库

c++提供的文件流类:ifstream、ofstream、fstream他们都在头文件 fstream 中有定义:

这些文件的关系也和基本的类库相似,我们可以类比记忆

ifstream:继承了istream和fstreambase的操作也就是对于文件的操作    和输入继承

ofstream:继承了ostream和fstreambase的操作也就是对于文件的操作和输出继承

fstream:以上两者的集成版:文件类中的战斗机

文件的读写

我们读写文件,是要建立一个fstream对象,将此对象与目标文件联系起来,然后对文件利用函数进行操作。这中间有很多的函数具体的用法,在此不再赘述,请参照网上的其他具体教程信息来学习函数的作用

浅谈面向对象

把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。对象即为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象,如手机就是一个对象。

关于整体概念的理解,如下图
第一次c++设计程序总结_第2张图片
点我——一个很详细的面向对象解释

设计一个程序的步骤

多花时间放在对于程序的分析上,我们的思路应该是:我需要实现什么功能,我想办法实现。而不应该是:我能实现什么功能,我怎么把我的功能放到我的程序当中

这次的程序设计过程就是犯了后面的错误,导致最后十分混乱

设计流程:

  1. 分析需求,需要的功能,需要的对象种类,画出思维导图
  2. 把功能划分到具体的对象类当中,然后分析出各个类之间的信息联系,设计接口的传输方式
  3. 把分析出来的类的结构,对象的种类都写出头文件以及声明相应的函数
  4. 在主函数里面开始流程,在相应的地方写入相应对象的功能
  5. 框架设计好之后,用语言去补充相应的功能。

内存

概述

内存指的就是运行时的运存,就是我们电脑中的内存条对应的部分,功能是我们运行程序时需要的内存活动空间。但是我们日常生活中,在我们买手机买电脑的时候,商家常常跟我们说这个手机内存64G、256G…(这实际上指的是硬盘的内存)这也就误导了我们内存的概念,所以以后的概念要区分好。

我们在设计程序的时候,这个内存有什么用呢?


存在内存中的数据调用快速而且方便,我们可以把我们需要的数据从硬盘等存储空间提取到内存当中,然后对内存中的数据进行操作,操作完之后在从内存中的数据保存到硬盘当中,实现数据的更新,这一过程可以便捷的、快速的实现我们的操作,由此可以理解,内存的作用,以及内存强悍的电脑运行游戏流畅的原因。

版权声明

本文保留所有权利,版权归河北工业大学梦云智软件开发团队所有。未经团队及作者事先书面同意,您不得以任何方式将本文内容进行商业性使用或通过信息网络传播本文内容。本文作者:温宇航

你可能感兴趣的:(c++)